如我所知,OneToOneField将创建一个unique-constraint,数据库将创建unique-index,以便在内部管理unique-constraint的唯一值。
因此,unique-constraint与unique-index是等价的。(因为两者都有一个unique-index表)
如果models.OneToOneField('one_to_one', db_index=False)
OneToOneField需要unique-index来管理unique-constraint,但它告诉我们不要创建db_index。
对我来说似乎很奇怪,但是没有任何语法错误。
它怎麽工作?
models.OneToOneField('one_to_one', db_index=False)和models.OneToOneField('one_to_one')有什么区别?
发布于 2018-12-12 16:42:01
发布于 2018-12-12 16:41:19
查看OneToOneField的源代码,它将始终在表上设置一个UNIQUE约束。这将覆盖(显然是无声的)您可能设置的任何db_index首选项。
如果您想以其他方式查看正在发生的事情,下面是几个选项:
https://stackoverflow.com/questions/53746831
复制相似问题