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