【发布时间】:2016-04-20 17:31:28
【问题描述】:
是否可以在 Django 中创建模型(或多对多关系)而无需数据库中的 id 字段(AutoField)?
例如,我有模型:Task 和 User。用户可以分配许多任务,并且可以将任务分配给许多用户。 通常,Django 会创建包含 id、user_id、task_id 等字段的关系表。 id 字段可以省略吗? user_id 和 task_id 字段将被标记为 unique_together。
【问题讨论】:
-
是的,你可以。但为了什么目的?它使事情变得更加复杂而没有任何收获。
-
恕我直言,通过删除和添加关系来防止 id 增加
-
为什么这很重要?
-
@DanielRoseman 想象一下,您想要存储重复事件的可用日期,这些日期正在发生变化,删除所有这些日期并在事件更新时添加所有新内容比检查现有的、删除那些更便宜你不会使用和创建新的。如果你有一个受欢迎的服务,你的 ID 会快速增长,总有一天你会遇到问题……而 bigint 将无济于事。
标签: django many-to-many