Python Django:若字段是特定值,则清空唯一名称
我想要什么 我希望字段是唯一的,除非同一模型中的其他字段是特定值。允许我将此唯一名称空出给未来的模型实例 我还需要允许Python Django:若字段是特定值,则清空唯一名称,python,django,django-models,Python,Django,Django Models,我想要什么 我希望字段是唯一的,除非同一模型中的其他字段是特定值。允许我将此唯一名称空出给未来的模型实例 我还需要允许testname为nullencase对于给定的测试没有testname 唯一字段:testname 调节器:cancelled=True models.py(简化) 类测试(models.Model): testname=models.CharField(最大长度=50,null=True,blank=True,unique=True) 取消=模型.布尔字段(默认值=False
testname
为null
encase对于给定的测试没有testname
唯一字段:testname
调节器:cancelled=True
models.py(简化)
类测试(models.Model):
testname=models.CharField(最大长度=50,null=True,blank=True,unique=True)
取消=模型.布尔字段(默认值=False)
您可以使用:
类测试(models.Model):
testname=models.CharField(最大长度=50,null=True,blank=True)
取消=模型.布尔字段(默认值=False)
类元:
约束=(
UniqueConstraint(字段=['testname'],条件=Q(取消=True),名称='…'),
)
这将在数据库表中添加一个约束,使字段具有条件唯一性。在这种情况下,不支持开箱即用的表单验证,因此需要单独添加表单验证