Django - 没有主键(AutoField)的“ManyToMany”

4
在Django中创建一个没有id字段(AutoField)的模型或多对多关系,是否可能?例如,我有Task和User两个模型。用户可以被分配多个任务,而任务也可以分配给多个用户。通常,Django会创建一个关系表,并使用像id、user_id、task_id这样的字段。那么是否可以省略id字段呢?user_id和task_id字段将被标记为unique_together。

1
请参阅文档 https://docs.djangoproject.com/es/1.9/topics/db/models/#automatic-primary-key-fields - Anentropic
可以,但是为了什么目的呢?这只会让事情变得更加复杂而没有任何收益。 - C14L
在我看来,为了防止删除和添加关系而导致id增加,可以采取以下措施。 - Kisuke
那为什么很重要呢? - Daniel Roseman
嗯,只是“假设”,为了防止ID或其他东西的溢出(如果可能发生)。 - Kisuke
3
假设你想要存储重复事件的可用日期,这些日期会变化,删除所有日期并在事件更新时添加全部新日期比检查现有日期、删除不使用的日期并创建新日期更加经济实惠。如果你的服务非常受欢迎,你的ID会很快增长,总有一天你会遇到问题……此时 bigint 也无济于事。 - horbor
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接