Py学习  »  Django

django-CharField中带有默认参数的自定义字段

Milano • 3 年前 • 969 次点击  

我试图在我的项目中使用多个自定义字段。例如 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)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/134154
 
969 次点击  
文章 [ 1 ]  |  最新文章 3 年前