我试图在我的项目中使用多个自定义字段。例如
CurrencyField
.
我想给它一个默认参数,比如
verbose_name
-“中东和北非”等。
Django引发错误:
kwargs['verbose_name'] = kwargs['verbose_name'] or 'Mena'
我想这是因为我有时用
冗长的名字
作为一个位置论点。我怎样才能让它“通用”?
class CurrencyChoices(models.TextChoices):
EUR = 'EUR'
CHF = 'CHF'
CZK = 'CZK'
DKK = 'DKK'
GBP = 'GBP'
HRK = 'HRK'
HUF = 'HUF'
PLN = 'PLN'
RON = 'RON'
SEK = 'SEK'
USD = 'USD'
class CurrencyField(models.CharField):
def __init__(self, *args, **kwargs):
kwargs['verbose_name'] = kwargs['verbose_name'] or 'Mena'
kwargs['max_length'] = 5
kwargs['choices'] = CurrencyChoices.choices
super().__init__(*args, **kwargs)