Как изменить имя поля со списком меток, когда я регистрирую свою модель на django сайте администратора - PullRequest
0 голосов
/ 28 января 2020

Я зарегистрировал свою модель в admin.py, я хочу изменить название некоторых полей модели со списком меток. Я знаю, как сделать это в формах, но упоминание меток в классе модели Admin не отражается на сайте администратора. Мне нужна помощь, как использовать список меток в Admin.py

class eAdmin(admin.ModelAdmin):
    list_display = ('name', 'phone_number', 'email_id', 'country', 'state')
    list_filter = ('funnel', 'country', 'state')
    search_fields = ['email_id']
    exclude = ('city',)
    class Meta:
        labels = labels_list

admin.site.register(EApplications, eAdmin)

У меня более 20 полей. Я не могу сделать это вручную в models.py Я хочу использовать список меток

Ответы [ 2 ]

2 голосов
/ 29 января 2020

Вам нужно создать формы в forms.py здесь я даю вам хит

forms.py файл создать в вашем приложении

from .models import EApplications
from django import forms

FIELDS_NAME=['name', 'phone_number', 'email_id', 'country', 'state',"etc your field name"]
FIELDS_LABEL=["Enter Name","Enter phone_number","Enter email","Enter country","Enter state","etc your field label"]

label_list=dict(zip(FIELDS_NAME,FIELDS_LABEL)) #dictionary of fields label pare

class EApplicationsForm(forms.ModelForm):
    class Meta:
        model=EApplications
        fields='__all__'
        labels=label_list #assign label

admin.py файл в вашем приложении нуждается в следующем обновлении

from .forms import EApplicationsForm # import the form in this file
class eAdmin(admin.ModelAdmin):
    list_display = ('name', 'phone_number', 'email_id', 'country', 'state')
    list_filter = ('funnel', 'country', 'state')
    search_fields = ['email_id']
    exclude = ('city',)
    form=EApplicationsForm #here assign imported form EApplicationsForm

admin.site.register(EApplications, eAdmin)

Если вы ищете больше динамических c, а не stati c, вам нужно определить функцию, которая получает данные из модели, и архивировать ее с соответствующими полями с метками . И сделать то же самое впереди на всех. Просто сделайте это в своем проекте и дайте мне знать ваш результат ... !!

1 голос
/ 28 января 2020

в ваших моделях вы можете добавить подробные имена полей

first_name = models.CharField("person's first name", max_length=30)

или использовать help_text

help_text="Please use the following format: <em>YYYY-MM-DD</em>."

see https://docs.djangoproject.com/en/3.0/topics/db/models/#verbose -field-names , https://docs.djangoproject.com/en/3.0/ref/models/fields/#help -text

...