You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:为Django模型类自定义Zip字段设置verbose_name为CEP

为Django自定义Zip字段设置verbose_name

你可以通过两种方式为自定义的Zip字段设置verbose_name="CEP":

方法一:直接在字段实例化时传入参数

因为自定义的Zip类继承自models.Field,父类本身支持verbose_name参数,无需修改自定义字段类,直接在实例化时传入即可:

class Address(models.Model):
    
    class Zip(models.Field):
        def db_type(self, connection):
            return 'char(8)'

    zip = Zip(verbose_name="CEP")
    address = models.CharField(max_length=200, verbose_name="Rua")
    # ... 其他字段

方法二:重写字段类的构造函数(如需扩展参数)

如果后续需要给自定义字段添加更多自定义逻辑,可以重写__init__方法,确保将verbose_name传递给父类构造函数:

class Address(models.Model):
    
    class Zip(models.Field):
        def __init__(self, verbose_name=None, name=None, **kwargs):
            # 将参数传递给父类构造函数
            super().__init__(verbose_name=verbose_name, name=name, **kwargs)
        
        def db_type(self, connection):
            return 'char(8)'

    zip = Zip(verbose_name="CEP")
    address = models.CharField(max_length=200, verbose_name="Rua")
    # ... 其他字段

两种方式都能让Zip字段的verbose_name生效,在Django后台管理界面或表单中会显示为"CEP"。

内容的提问来源于stack exchange,提问作者Carlos Rocha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 10:25:04