如何将布尔(或'')解释为整数0或1?总数可以是0,1或2,具体取决于uno和dos的值。
class foo(models.Model)
uno = models.BooleanField()
dos = models.BooleanField()
total = models.PositiveSmallIntegerField(blank=True, default=int(0))
def save(self, *args, **kwargs):
# HUMDINGER....
self.total = int(self.uno) + int(self.dos)
super(Survey, self).save(*args, **kwargs) # Call the "real" save() method.
这是该行投掷的错误......
invalid literal for int() with base 10: ''
答案 0 :(得分:0)
我很惊讶你的BooleanFields
有空字符串作为它们的值。无论如何,由于布尔值在数值上下文中评估为0
和1
,您可以这样做:
self.total = bool(self.uno) + bool(self.dos)