【发布时间】:2020-04-18 03:26:22
【问题描述】:
我正在尝试将 Django 与 PostgreSQL 连接,到目前为止一切顺利,我为女性客户创建了一个模型
from django.db import models
from django.db.models import CheckConstraint, Q
class fml_tbl(models.Model):
fml_id = models.CharField(primary_key = True, max_length = 10)
first_name = models.CharField(max_length = 20, null = False)
last_name = models.CharField(max_length = 20)
age = models.PositiveIntegerField(unique = True)
qualification = models.CharField(max_length = 50)
profession = models.CharField(max_length = 50)
officer = models.ForeignKey("officer", on_delete=models.CASCADE, null = False)
class Meta:
constraints = [
models.CheckConstraint(check=Q(age__gte=18), name='age_gte_18')
]
我添加了一个检查约束来检查客户端的年龄,当我迁移时,我得到了错误...
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
ERRORS:
?: (models.E032) constraint name 'age_gte_18' is not unique amongst models: client.fml_tbl, client.ml_tbl.
System check identified 1 issue (0 silenced).
还有一个与此相同的男性客户表,我只是想练习 django 模型约束,因为 postgresql 也使用约束,但我不明白在这里做什么。我正在使用 Django 3.0 和 Python 3.7
我在 stackoverflow 和其他地方搜索了不同的答案,但我找不到任何东西,我使用 django documentation 和 this site 来理解约束,但到目前为止 this 是文档中关于我的错误的全部内容, this 是我在 CheckConstraints 上找到的唯一 SO 答案,但这并不能解决我的问题。
请帮助我,并尽可能简单地解释它,因为我是新手。非常感谢您的帮助!
【问题讨论】:
标签: python django postgresql