Tengo la siguiente configuración de administrador para poder agregar/editar un usuario y su perfil al mismo tiempo.¿Cómo solicito una línea en Django Admin?
class ProfileInline(admin.StackedInline):
"""
Allows profile to be added when creating user
"""
model = Profile
class UserProfileAdmin(admin.ModelAdmin):
"""
Options for the admin interface
"""
inlines = [ProfileInline]
list_display = ['edit_obj', 'name', 'username', 'email', 'is_active',
'last_login', 'delete_obj']
list_display_links = ['username']
list_filter = ['is_active']
fieldsets = (
(None, {
'fields': ('first_name', 'last_name', 'email', 'username',
'is_active', 'is_superuser')}),
)
ordering = ['last_name', 'first_name']
search_fields = ['first_name', 'last_name']
admin.site.register(User, UserProfileAdmin)
El problema es que necesito dos de los campos en la forma de perfil en línea que se requieren al agregar al usuario. La forma en línea no valida a menos que se ingrese la entrada. ¿Hay alguna forma de hacer que el en línea sea requerido, para que no pueda dejarse en blanco?
Si está utilizando 'GenericInlineModelAdmin', reemplace' BaseInlineFormSet' con 'BaseGenericInlineFormSet'. – L42y
Gracias! Sin embargo, si su formulario no tiene campos obligatorios, aún no se validará y guardará cuando esté vacío. Monkey-patch el formulario usando 'form.has_changed = lambda: True' para tenerlo guardado a pesar de estar vacío. – bouke