bla*_*sun 2 authentication django django-models django-forms django-views
您好,我正在测试Django身份验证和嵌套用户数据。我MyProfil为用户创建了一个简单的模型。我想测试制作自定义id并将设置primary_key=True为id = models.UUIDField。
models.py
class MyProfil(models.Model):
id = models.UUIDField(primary_key=True, default=uuid4, editable=False)
owner = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
aboutme = models.TextField(max_length=300, blank=True)
city = models.TextField(max_length=300, blank=True)
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都对我有利,但我有一个问题,即使阅读django文档也无法回答自己。
题
请问primary_key=True我的id场均也unique还是必须要申报吗?
是的。由于主键表示可以唯一标识对象的值。在参数的文档中primary_key,我们看到:
Field.primary_key如果为
True,则此字段是模型的主键。如果您未
primary_key=True在模型中指定任何字段,则Django会自动添加一个AutoField来保留主键,因此primary_key=True除非您要覆盖默认的主键行为,否则无需在任何字段上进行设置。有关更多信息,请参见自动主键字段。
primary_key=True暗示null=False和unique=True。一个对象只允许使用一个主键。
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |