作为一个新手程序员,我有以下两种模型,这两种模型在多对多设置中相互连接。
想象一下,成千上万的任务要执行数百个任务,其中一些是“执行”类型,某些是“拖放”时间,并且在不同的时间。
我的目标是查询以下任一情况:
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)
答案 0 :(得分:-1)
答案在文档中:Q()函数是您尝试创建SQL OR语句时解决问题的方法。 https://docs.djangoproject.com/en/2.1/topics/db/queries/#complex-lookups-with-q