Запрос последнего значения в связанной таблице отношений «многие ко многим» в Django - PullRequest
0 голосов
/ 19 февраля 2019

Как программист-новичок, у меня есть две модели, в которых обе модели связаны друг с другом в настройке «многие ко многим».

Представьте себе, что для сотен задач были сделаны тысячи заданий, некоторые изТип «Take», иногда «Drop» и в разное время.

Моя цель - запросить одно из следующих условий:

  • Найти все задачи без назначения ИЛИ
  • Найти все задачи, последнее назначение которых имеет тип «Отброс»
class Tasks(models.Model):
    task_message = models.TextField(null=True, blank=True)
    task_assignment = models.ManyToManyField('Assignments',blank=True,related_name="assignments")

class Assignments(models.Model):
    assignee = models.ForeignKey(User, on_delete=models.SET_NULL, blank=False,null=True,related_name="assigned_user")
    Type = (
        (TAKE, 'Assigned To'),
        (DROP, 'Dropped From'),
        (FORWARD, 'Forwarded To'),
    )
    assignment_type = models.CharField(choices=Type, default=TAKE,max_length=20)
    assignment_update_date = models.DateTimeField(default=timezone.now)

1 Ответ

0 голосов
/ 19 февраля 2019

Ответ приведен в документации: функции Q () являются ответом на вашу проблему, когда вы пытаетесь создать SQL-оператор OR.https://docs.djangoproject.com/en/2.1/topics/db/queries/#complex-lookups-with-q

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...