Если вы имеете в виду метку поля:
, используя код из: Django Admin - Переопределение виджета поля пользовательской формы
# forms.py
from django import forms
from django.contrib import admin
class ProductAdminForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ProductAdminForm, self).__init__(*args, **kwargs)
self.fields['tags'].label = 'Custom Label'
Затем в вашемОбъект ModelAdmin, вы указываете форму:
from django.contrib import admin
from models import Product
from forms import ProductAdminForm
class ProductAdmin(admin.ModelAdmin):
form = ProductAdminForm
admin.site.register(Product, ProductAdmin)
Если вы имеете в виду метки в выпадающем списке выбора:
Переопределите виджет, как в ответе выше.1015 * edit:
Поле формы по умолчанию для поля fk - это поле выбора модели.Из docs
Метод модели unicode будет вызываться для генерации строковых представлений объектов для использования при выборе поля;чтобы предоставить настраиваемые представления, создайте подкласс ModelChoiceField и переопределите label_from_instance.Этот метод получит объект модели и должен вернуть строку, подходящую для его представления.Например:
class MyModelChoiceField(ModelChoiceField):
def label_from_instance(self, obj):
return obj.name_with_model()
, а затем:
class SmallPartAdminForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(SmallPartAdminForm, self).__init__(*args, **kwargs)
self.fields['parent'] = MyModelChoiceField(queryset=Part.objects.all())