Reputation: 1305
I'm having a senario, where my model have different fields but the share the same attribute for example I have the following model:
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()
.
.
.
So Is there a way that can let me writing my model in better way?
I mean when I want to update, for example, from models.IntegerField()
to models.IntegerField(validators=[MaxValueValidator(100),MinValueValidator(1)])
.
I have to do the update for the whole fields.
Upvotes: 1
Views: 112
Reputation: 12068
You can do something like this:
class MyCustomIntegerField(models.IntegerField):
default_validators = [MaxValueValidator(100), MinValueValidator(1)]
then use them on your models:
class Skills(models.Model):
pace = MyCustomIntegerField()
...
Upvotes: 1