处理django模型字段中的重复属性,寻找最佳实践



我有一个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()
...

相关内容

最新更新