我试图在Django模型中实现表1将有5列,例如:
table1 : (column1, column2, column3, column4, column5)在我想要column1的地方,column2充当复合主键,而不是Django的Id列。
table 2: (column6, column7, column8, column9, column10, column 11)其中,column6、column7是指表1中的column1、column2主键的外键,也是表2中的复合主键。
如何在Django中实现这一点,以便作为管理用户,我可以向表1添加数据,也可以将数据添加到表2,其中表2的前两列即column6,当我想将数据添加到E 125表2<代码>E 226时,column7是用column1 ( column2 data )自动生成的。
这在DJango中有可能吗?如果是,请提供具体的工作示例?
发布于 2020-05-13 17:41:09
主键的基本性质是它是唯一的,并在其上有索引。因此,尝试在unique_together类中使用index_together和Meta选项。例如:
class Model1(models.Model):
col1 = ....
col2 = ....
class Meta:
unique_together = (('col1', 'col2'),)
index_together = (('col1', 'col2'),)这里是官方的医生。
如果要避免将默认的id列作为主键,
class Model1(models.Model):
# `models.IntegerField` is just for example.
col1 = models.IntegerField(primary_key=True)
col2 = ....
class Meta:
unique_together = (('col1', 'col2'),)https://stackoverflow.com/questions/61781061
复制相似问题