我有一个senario,其中我的模型有不同的字段,但共享相同的属性。例如,我有以下模型:
class Skills(models.Model):
pace = models.IntegerField()
shooting = models.IntegerField()
passing = models.IntegerField()
dribbling = models.IntegerField()
defending = models.IntegerField()
physic = models.IntegerField()
gk_diving = models.IntegerField()
gk_handling = models.IntegerField()
gk_kicking = models.IntegerField()
gk_reflexes = models.IntegerField()
gk_speed = models.IntegerField()
.
.
.
那么,有没有一种方法可以让我以更好的方式编写我的模型
我的意思是,例如,当我想从models.IntegerField()
更新到models.IntegerField(validators=[MaxValueValidator(100),MinValueValidator(1)])
时。我必须对整个字段进行更新。
您可以这样做:
class MyCustomIntegerField(models.IntegerField):
default_validators = [MaxValueValidator(100), MinValueValidator(1)]
然后在你的模型上使用它们:
class Skills(models.Model):
pace = MyCustomIntegerField()
...