Recuerda que en las ciencias informáticas cualquier problema casi siempere suele tener más de una soluciones, no obstante nosotros te mostramos lo más óptimo y mejor.
Solución:
Lo que estaba buscando es:
name = models.CharField(max_length=200, verbose_name="Nom")
¡Gracias de todos modos por tu ayuda!
Mire Field.label. Vea esto: https://docs.djangoproject.com/en/dev/ref/forms/fields/#label
Básicamente, es
class MyForm(forms.Form):
name = forms.CharField(label='My Name')
Pero eso requiere extender el administrador, lo que puede ser más de lo que desea hacer.
Ajuste verbose_name
en el campo del modelo, como en la respuesta aceptada, funciona, pero tiene algunas desventajas:
-
También afectará la etiqueta de campo en formularios no administrativos, como se menciona en el comentario.
-
Cambia la definición del campo del modelo, por lo que da como resultado una nueva migración.
Si usted solamente desea cambiar el nombre para mostrar del campo en la administración sitio, puede anular todo el formulario, como se sugiere en esta otra respuesta, o simplemente modificar la etiqueta del campo del formulario extendiendo ModelAdmin.get_form()
como en el siguiente ejemplo:
class MyModelAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None, change=False, **kwargs):
form = super().get_form(request, obj, change, **kwargs)
form.base_fields['my_model_field_name'].label = 'new name'
return form
Tenga en cuenta que esto no funciona si el campo está en readonly_fields
(al menos en Django 2.2.16), porque el campo será excluido form.base_fields
(ver fuente). En ese caso, una opción sería eliminar el campo de readonly_fields
y desactívelo en su lugar, agregando otra línea dentro get_form()
:
form.base_fields['my_model_field_name'].disabled = True
Recuerda que puedes dar difusión a esta reseña si lograste el éxito.