Django:使用自定义主键,我应该指定unique = True吗?

时间:2010-02-04 15:42:28

标签: django django-models

我读了这页:http://www.djangoproject.com/documentation/models/custom_pk/,示例没有列出unique = True。我想知道是否有令人信服的理由让他们不予理睬,或者我是否有理由将其包括在内。我的假设是指定primary_key = True会自动执行此操作。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

http://docs.djangoproject.com/en/2.1/ref/models/fields/#primary-key

您的假设是正确的,primary_key=True暗示unique=True

答案 1 :(得分:2)

Josh Wright的回答是正确的,但我也建议阅读关于关系数据库的文本。根据定义,主键必须是唯一的,因此如果Django允许主键是非唯一的,那么这将是一个错误。我强烈推荐Michael Hernandez撰写的“关于数据库设计的数据库设计:关系数据库设计动手指南(第2版)”。它充满了宝贵的实用建议。