Django - 具有预设字段的模型(自定义字段)

Pie*_*NAY 1 python django django-models

我有一个我通常设定的领域

rate = models.DecimalField(
  max_digits=2,
  decimal_places=1,
  choices=MY_CHOICES,
)
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以定义它

rate = mymodels.MyRateField()
Run Code Online (Sandbox Code Playgroud)

DrT*_*rsa 5

您可以使用继承:

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()
Run Code Online (Sandbox Code Playgroud)