我有如下相互关联的树模型:
第一节课是关于这个项目的基本信息。
class Project(models.Model): customer = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete = models.CASCADE,) title = models.CharField(max_length=200) pub_date = models.DateTimeField(default=timezone.now)
第二个类用于注册与每个项目相关的类别。
class ProjectCategory(models.Model): project = models.ForeignKey( Project, on_delete = models.CASCADE) projectCategory = models.ForeignKey( Category, on_delete=models.CASCADE)
最后一个模型指示项目的位置。
class ProjectLocation(models.Model): project = models.ForeignKey( Project, on_delete = models.CASCADE) projectLocation = models.ForeignKey( Location, on_delete=models.CASCADE)
我试图在模板中呈现项目列表。 我想显示与每个项目相关的信息(类别和位置)。 如何才能做到这一点? 使用查询项目。对象。all()不允许我访问“projectLocation”和“projectCategory”字段。
添加一个 related_name 到您的外键字段,您可以使用此名称访问它们。
related_name
例如ProjectCategory:
class ProjectCategory(models.Model): project = models.ForeignKey(Project, related_name='categories')
因此,现在您可以执行以下操作: project.categories.all()
project.categories.all()