我有两个模特.Procedures
和ProcedureCategories
.现在,每个Procedure
都可以有一个ProcedureCategory
的外键.
我想做两件事:为我的用户组获取所有特定类型的Procedures
个.并获取这Procedures
项中使用的所有类别.
以下是我的模特:
class ProcedureCategories(models.Model):
name = models.CharField(
max_length=200,
help_text="Enter category name."
)
def __str__(self):
return self.name
def __lt__(self, other):
return self.name < other.name
class Procedure(models.Model):
"""Model representing a task (but not a specific copy of a procedure)."""
title = models.CharField(max_length=200)
type = models.ManyToManyField(ProcedureTypes, help_text="Select a type for this procedure")
summary = RichTextField(max_length=1000, help_text="Enter a brief description of the task", blank=True)
groups = models.ManyToManyField(Group, help_text="Select which groups should be assigned for the task", blank=True)
category = models.ForeignKey(ProcedureCategories, on_delete=models.PROTECT, help_text="Select which category should be assigned for the task", blank=True, null=True)
date_done = models.DateTimeField(null=True, blank=True)
def __str__(self):
"""String for representing the Model object."""
return self.title
第一件事很简单:
procedureModels = Procedure.objects.filter(type=2, groups__user=request.user)
这为我提供了类型2的全部Procedures
个正确的用户组.
但我如何才能得到这Procedures
个项目中使用的所有ProcedureCategorires
个项目呢?
ProcedureCategories.filter()?
我可能需要以某种方式加入其中.在Django 怎么才能做到这一点?