唯一的共同约束,包括特定的字段值 [英] Unique together constraint including specific field value
本文介绍了唯一的共同约束,包括特定的字段值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对于我的一个模型,我需要确保某些行的唯一性,但仅在特定情况下。仅已验证行应遵循此约束。
For one of my models, I need to ensure the unicity of some rows, but only in a certain case. Only the "validated" rows should follow this constraint.
基本上,我期待的是
class MyModel(models.Model):
field_a = models.CharField()
field_b = models.CharField()
validated = models.BooleanField(default=False)
class Meta:
unique_together = (('field_a', 'field_b', 'validated=True'),)
推荐答案
在使用Django 2.2+
的情况下,您可以使用UniqueConstraint这是一个示例
You can use UniqueConstraint in case you're using Django 2.2+ Here is an example
class MyModel(models.Model):
field_a = models.CharField()
field_b = models.CharField()
validated = models.BooleanField(default=False)
class Meta:
constraints = [
UniqueConstraint(fields=['field_a', 'field_b'], condition=Q(validated=True), name='unique_field_a_field_b_validated')
]
这是源
这篇关于唯一的共同约束,包括特定的字段值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文