Django - 在ModelForm中覆盖其形式时,如何不松散字段的verbose_name和其他属性?

Gil*_*tes 2 python django

鉴于:

#models.py
from django.db import models


class MyModel(models.Model):
    myfield = models.IntegerField('Detailed description')

#forms.py
from django import forms
from models import MyModel

class MyModelForm(forms.ModelForm):
    myfield = forms.IntegerField()


class Meta:
    model = MyModel
Run Code Online (Sandbox Code Playgroud)

使用此设置 - 将不会在管理页面上显示verbose_name,而是使用字段名称(带大写的第一个字母).如果从MyModelForm中删除覆盖字段 - 详细名称将照常显示.如果提供带有描述的字符串作为参数label,forms.IntegerField()它将显示在管理页面上.
我正在寻找pythonic方法来显示在模型类中定义的verbose_name,以防这个字段形式在ModelForm中被覆盖,而不使用label提示.

有什么想法吗?

kar*_*ikr 5

您可以使用以下格式访问模型的详细名称:

myfield = models.IntegerField(label=MyModel._meta.get_field_by_name('myfield')[0].verbose_name)
Run Code Online (Sandbox Code Playgroud)