Django限制:如果Foreignkey为空,则字段必须为true

时间:2019-09-09 15:43:50

标签: django django-orm

我正在阅读Django的documentation on CheckConstraint,以避免重写.save()方法来实现此行为:

MyModel(models.Model):
    user = models.ForeignKey(User, null=True)
    is_default = models.BooleanField()

if m.user is None and m.is_default -> valid
if m.user is None and not m.is_default -> invalid
if m.user is not None and m.is_default -> invalid
if m.user is not None and not m.is_default -> valid

基本上,我希望is_default仅在分配用户时为true。

我可以使用CheckConstraint来执行此操作吗?还是我不得不覆盖.save()方法?

1 个答案:

答案 0 :(得分:0)

C:\destination\does\not - work ΓÇô fine\at\all