Python DJANGO检查约束:SystemCheckError:(models.E032)约束名称';18岁和27岁;这不是唯一的模式

Python DJANGO检查约束:SystemCheckError:(models.E032)约束名称';18岁和27岁;这不是唯一的模式,python,django,postgresql,Python,Django,Postgresql,我正在尝试将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 = mod

我正在尝试将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也使用约束,但我不知道在这里做什么。我正在使用Django3.0和Python3.7

我在stackoverflow和其他地方搜索了不同的答案,但我什么也找不到,我使用and来理解约束,但到目前为止,所有文档都说明了我的错误,这是我在CheckConstraints上找到的唯一答案,但这并不能解决我的问题


请帮助我,并尽可能简单地解释它,因为我是一个新手。我会非常感谢你的帮助

您试图用相同的
名称定义两个不同的索引,
年龄
。系统检查告诉你不要这样做。Django文档中似乎没有讨论该限制,但可能是一个或多个受支持数据库的限制(例如,请参阅)


解决方案很简单,为每个索引指定一个唯一的
名称(或者干脆不使用名称)。

您可以使用Django设置
静音\u系统检查=[“models.E030”]

只有知道自己在做什么时才忽略系统检查。例如,当我将Django连接到一个现有的MySQL数据库时,我需要忽略这个检查,该数据库在不同的表上使用相同的名称创建多个索引。在我使用的MySQL版本中,这不是一个问题,而在其他数据库后端则是