所以首先,我想澄清一下,我正在尝试建立一对多的关系,而不是多对一。我已经了解 ForeignKeys 是如何工作的。
为了讨论,我简化了我的模型;在实际实现中,它们比这更丰富。
我有一个模型,称为 a ColumnDefinition
:
class ColumnDefinition(Model):
column_name = CharField(max_length=32)
column_type = PositiveSmallIntegerField()
column_size = PositiveSmallIntegerField(null=True, blank=True)
我认为有一个注册表。每个注册表都有一组单独的列用于其输入和输出定义。我已经将理论上的“OneToManyField”放在那里以展示我正在尝试做的事情。
class Registry(Model):
input_dictionary = OneToManyField(ColumnDefinition)
output_dictionary = OneToManyField(ColumnDefinition)
created_date = DateTimeField(auto_now_add=True, editable=False)
AColumnDefinition
只与一个注册表相关。所以这不是多对多的关系。如果我把aForeignKey
放在ColumnDefinition
相反来创建反向关系,它只能创建一个反向,而我需要一个输入和输出反向。
ColumnDefinition
如果我能绕过它,我 不想做任何事情,比如添加一个“column_registry_type”字段。
有没有人对如何解决这个问题有任何好主意?
谢谢!