Si se refiere a la etiqueta del campo:
utilizando el código de: Django Admin - Overriding the widget of a custom form field
# 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'
Luego, en su objeto ModelAdmin, especifique la forma:
from django.contrib import admin
from models import Product
from forms import ProductAdminForm
class ProductAdmin(admin.ModelAdmin):
form = ProductAdminForm
admin.site.register(Product, ProductAdmin)
Si se refiere a las etiquetas en el menú desplegable de selección:
Anular el widget como en la respuesta anterior.
edición:
El campo de formulario predeterminado para un campo de FK es un campo modelo de elección. Desde el docs
El Unicode método del modelo será llamado para generar cadena representaciones de los objetos de uso en las opciones del campo; para proporcionar representaciones personalizadas, subclase ModelChoiceField y anular label_from_instance. Este método recibirá un objeto modelo, y debe devolver una cadena adecuada para que lo represente. Por ejemplo:
class MyModelChoiceField(ModelChoiceField):
def label_from_instance(self, obj):
return obj.name_with_model()
y luego:
class SmallPartAdminForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(SmallPartAdminForm, self).__init__(*args, **kwargs)
self.fields['parent'] = MyModelChoiceField(queryset=Part.objects.all())
es como si yo (mi pregunta no está claro), es necesario que actualice –
Puede hacerlo anulando el widget. ¿Cómo estás modificando los valores? Basado en una función? Por favor publique un código o aclare en su publicación. ¡Gracias! – DTing
He actualizado la pregunta, he agregado el código –