pythonDjango模型BooleanField依赖于同一Mod中的其他BooleanField

2024-10-04 11:31:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Django编写一个web应用程序,我想知道是否有可能在一个模型中有一个BooleanField,其值将基于同一模型中的其他BooleanField。在

基本上,我希望模型中的一个布尔域为真,只有当模型中的所有其他布尔域都为真时。在

例如,使用以下模型:

class ModelEx(models.Model):
   booleanA = models.BooleanField(default=False)
   booleanB = models.BooleanField(default=False)
   booleanC = models.BooleanField(default=False)
   booleanD = models.BooleanField(default=False)

我希望布尔值是真的,只有布尔值和布尔值是真的。在

我还没有找到任何关于这方面的信息,所以如果有人知道是否有解决这个问题的办法,那就太好了。在

谢谢。在


Tags: django模型webfalse应用程序defaultmodelmodels
2条回答

可以替代模型的保存方法。在

class ModelEx(models.Model):
   booleanA = models.BooleanField(default=False)
   booleanB = models.BooleanField(default=False)
   booleanC = models.BooleanField(default=False)
   booleanD = models.BooleanField(default=False)

   def save(self, *args, **kwargs):
       self.booleanA = self.booleanA and self.booleanB and self.booleanC
       return super(ModelEx, self).save(*args, **kwargs)

可以替代模型的保存方法。会是这样的。在

def save(self, *args, **kwargs):
   self.booleanA = self.booleanB and self.booleanC and self.booleanD
   return super(ModelEx, self).save(*args, **kwargs)

相关问题 更多 >