【发布时间】:2021-01-28 21:36:23
【问题描述】:
我有四个表连接在一起:
-
Meeting(Person的两个外键) -
Person(多对多字段到'ConditionDictionary' -
Condition(Person和ConditionDictionary的外键) -
ConditionDictionary
我的Meeting 表有Person 的外键,Person 多对多连接到ConditionDictionary,它通过表Condition(因为我必须在那里添加额外的标志)。
我想将ConditionDictionary 中的一列添加到会议视图,但我不知道该怎么做。
在python shell中运行时,我实现了我所需要的
Meeting.objects.filter(id=1).values('person_in_need__person_c__condition__issue')
但是,如上所述,我不知道如何添加选项以选择它在会议类中返回的内容。
以下是模型(重要部分):
class ConditionDictionary(models.Model):
issue = models.CharField(max_length=50)
description = models.TextField()
class Condition(models.Model):
person = models.ForeignKey(Person, related_name = 'person_c', on_delete=models.CASCADE)
condition = models.ForeignKey(ConditionDictionary, related_name = 'condition_c', on_delete=models.CASCADE)
class Person(models.Model):
issue = models.ManyToManyField(ConditionDictionary, through='Condition')
class Meeting(models.Model):
person1 = models.ForeignKey(Person, related_name='in_need', on_delete=models.CASCADE)
person2 = models.ForeignKey(Person, related_name='carer', on_delete=models.CASCADE)
我的想法是,每次创建会议时,您都可以选择这次处理的问题。
【问题讨论】:
标签: django django-models django-views django-admin