У меня есть приложение todo, и есть функция выполнения очередей. Скажем, Пользователь 1, Пользователь 2 и Пользователь 3 являются работниками и выполняют свою задачу, но последовательно в очереди. Что я имею в виду под sequentially in queue
, пока пользователь 1 не пометит задачу как выполненную, эта задача не появится для пользователя 2 и 3. После того, как пользователь 1 проверит задачу как выполненную, задача будет видима для пользователя 2, но не для Пользователь 3, потому что Пользователь 2 выполняет эту задачу, и она должна быть полностью выполнена. После того, как Пользователь 2 проверит задание как выполненное, наступит очередь Пользователя 3. Моя модель выглядит следующим образом:
class Todo(model.Models):
# some other fields...
workers = models.ManyToMany(User, related_name='todos')
# after user checks a todo task he is counted as worker that fulfilled his duties
# todo won't be shown to fulfilled users
fulfilled_workers = models.ManyToMany(user, blank=True)
Как отфильтровать таблицу Todo, чтобы показать задачи для пользователя, который является первым в отношениях M2M, но не для тех, кто go после него?