次の行に沿って、別のフィールドに基づいてデフォルトを作成しようとしています。
class Track(models.Model):
distance = models.FloatField()
timeout = models.PositiveSmallIntegerField(default=int(distance * 2))
ただし、これはスローしますTypeError: unsupported operand type(s) for *: 'FloatField' and 'int'
FWIW、私はこれを無駄にしようとしました:
class Track(models.Model):
distance = models.FloatField()
timeout = models.PositiveSmallIntegerField()
def save(self, *args, **kwargs):
if (self.timeout is None):
self.timeout = int(self.distance * 2)
super(Track, self).save(*args, **kwargs)
しかし、それは投げていましたTypeError: 'int' object is not iterable