how to override the verbose name of a superclass model field in django

后端 未结 5 1525
梦如初夏
梦如初夏 2020-12-05 02:35

Let\'s say that I have a model Foo that inherits from SuperFoo:

class SuperFoo(models.Model):
    name = models.CharField(\'name of SuperFoo instance\', max_         


        
5条回答
  •  时光取名叫无心
    2020-12-05 03:24

    I have different child classes deriving from the same base class. And I only care for the form view in the Django Admin interface.

    The only solution that worked for me was to customize the Django Admin interface and set the verbose_name (or help_text) there:

    class FooAdmin(admin.ModelAdmin):
        def get_form(self, request, obj=None, **kwargs):
            form = super().get_form(request, obj, **kwargs)
            form.base_fields['name'].verbose_name = "my verbose name"
            return form
    
    admin.site.register(models.Foo, FooAdmin)
    

提交回复
热议问题