django - 如何计算另一个模型 django?
问题描述
希望你很好
我有这些模型:
class Task(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=50)
description = models.TextField()
priority = models.CharField(max_length=124, choices=priority_options, default="Low")
status = models.CharField(max_length=124, choices=status_options, default="In Progress")
start_date = models.DateField()
end_date = models.DateField()
invite = models.ManyToManyField(User, related_name="invite", blank=True)
def __str__(self):
return self.name
class Issue(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
task = models.ForeignKey(Task,on_delete=models.CASCADE)
issue = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.task.name
现在我已经使用这个命令来计算任务:
Task.objects.filter(user=request.user,status="Completed").count()
现在我想找到这个用户创建的任务并且状态是完成的问题
我怎样才能做到这一点?
解决方案
我从您的问题中了解到您想要属于您过滤的任务的所有问题。
您可以使用
tasks = Task.objects.filter(user=request.user, status="Completed")
count = tasks.count()
issues = Issue.objects.filter(task__in=tasks)
__in
此处记录了对字段的添加: https ://docs.djangoproject.com/en/3.1/ref/models/querysets/#id4