Django - модель с предустановленным полем (настраиваемое поле) - PullRequest
1 голос
/ 12 января 2012

У меня есть поле, которое я обычно устанавливаю как

rate = models.DecimalField(
  max_digits=2,
  decimal_places=1,
  choices=MY_CHOICES,
)

Есть ли способ, которым я мог бы определить его как

rate = mymodels.MyRateField()

?

Ответы [ 2 ]

5 голосов
/ 12 января 2012

Вы можете использовать наследование:

class RateField(models.DecimalField):
    def __init__(self, *args, **kwargs):
        kwargs.update(dict(max_digits=2, decimal_places=1, choices=MY_CHOICES))
        super(RateField, self).__init__(*args, **kwargs)

rate = RateField()
1 голос
/ 12 января 2012

Полагаю, вы могли бы создать подкласс DecimalField и переопределить его __init__.

...