我的模型包含字段rules = models.ManyToManyField(blank=True, null=True)
和aggregation = models.BooleanField(default=False)
。
如果规则为空,我想使aggregation = False。换句话说,如果没有输入任何规则或已经存储在数据库中,聚合字段应始终为== False。
答案 0 :(得分:0)
def save(self, *args, **kwargs):
if not self.rules:
self.aggregation = False
super(MyModel, self).save(*args, **kwargs)
这是你的意思吗?
编辑:我看到你可能也想检查数据库。没问题:
def save(self, *args, **kwargs):
models = MyModel.objects.filter(rules__isnull=False).exists()
if not self.rules and not models:
self.aggregation = False
super(MyModel, self).save(*args, **kwargs)