Django: "primary_key=True"也指 "unique"吗?

标签 django authentication 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)

到目前为止,一切都对我有利,但是我有一个问题,即使阅读django文档也无法回答自己。

Question



我的primary_key=True字段上的id是否也表示unique或我必须声明它?

最佳答案

。由于主键是指可以唯一标识对象的值。在the documentation on the primary_key parameter中,我们看到:

Field.primary_key

If True, this field is the primary key for the model.

If you don’t specify primary_key=True for any field in your model, Django will automatically add an AutoField to hold the primary key, so you don’t need to set primary_key=True on any of your fields unless you want to override the default primary-key behavior. For more, see Automatic primary key fields.

primary_key=True implies null=False and unique=True. Only one primary key is allowed on an object.

关于Django: "primary_key=True"也指 "unique"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58139212/

相关文章:

django - 在django中将除表单数据之外的数据添加到数据库中

python - 查询以获取具有某些标签 y 的 x 问题

django - 保存前更改表单实例 Django

Django FilterSet设置初始值

python - 使用请求和 session 正确验证 API 调用

python - 在 Tornado 应用程序中使用 Django - 无法访问 Tornado 应用程序启动后创建的 MySQL 记录

Angular 2 不使用 CORS 保存我的身份验证 Cookie

javascript - 使用JS渲染Django表单

c# - admin 用户在 asp.net 成员资格中将在一段时间后失效

authentication - .htaccess mod-rewrite 与子文件夹身份验证冲突