Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:在模型的字段上与字段条件一起设置unique__Python_Django_Python 3.x_Unique Constraint - Fatal编程技术网

Python Django:在模型的字段上与字段条件一起设置unique_

Python Django:在模型的字段上与字段条件一起设置unique_,python,django,python-3.x,unique-constraint,Python,Django,Python 3.x,Unique Constraint,我正在从事一个Django/Python API项目,我需要我的一个模型有一个独特的组合,以及该模型另一个字段上的给定条件 例: 此唯一组合仅允许保存一条验证此组合的记录。将“状态”字段添加到此唯一组合将允许添加具有相同状态的重叠时间。因此,在我的应用程序中,当其状态为“活动”时,我只需要在上述唯一组合之后有一条记录,如果其状态为“非活动”,则需要有多条记录,如上面的示例数据集所示 将上述唯一的组合删除到UniqueConstraint也无法在迁移时在控制台中生成错误 constraints =

我正在从事一个Django/Python API项目,我需要我的一个模型有一个独特的组合,以及该模型另一个字段上的给定条件

例:

此唯一组合仅允许保存一条验证此组合的记录。将“状态”字段添加到此唯一组合将允许添加具有相同状态的重叠时间。因此,在我的应用程序中,当其状态为“活动”时,我只需要在上述唯一组合之后有一条记录,如果其状态为“非活动”,则需要有多条记录,如上面的示例数据集所示

将上述唯一的组合删除到UniqueConstraint也无法在迁移时在控制台中生成错误

constraints = [
    models.UniqueConstraint(fields=['user', 'date', 'from_time'], condition=Q(status='Active'), name='uc_user_date_from_active'),
    models.UniqueConstraint(fields=['user', 'date', 'to_time'], condition=Q(status='Active'), name='uc_user_date_to_active')
]
错误

django.core.exceptions.FieldError:此查询中不允许合并字段引用


我如何在模型本身中完成此验证而不必手动验证?

显示您的代码,您厌倦了什么?这不是帮助吗?此问题与您昨天询问的问题相同还是问题陈述不同?
constraints = [
    models.UniqueConstraint(fields=['user', 'date', 'from_time'], condition=Q(status='Active'), name='uc_user_date_from_active'),
    models.UniqueConstraint(fields=['user', 'date', 'to_time'], condition=Q(status='Active'), name='uc_user_date_to_active')
]