J'ai la configuration admin suivante pour que je puisse ajouter/modifier un utilisateur et leur profil en même temps.Comment est-ce que je requière un inline dans 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)
Le problème est que je besoin de deux des champs du formulaire en ligne de profil pour être requis lors de l'ajout de l'utilisateur. Le formulaire en ligne ne valide pas sauf si l'entrée est entrée. Y at-il de toute façon pour rendre l'inline nécessaire, de sorte qu'il ne peut pas être laissé vide?
Si vous utilisez 'GenericInlineModelAdmin', remplacez' BaseInlineFormSet' par 'BaseGenericInlineFormSet'. – L42y
Merci! Toutefois, si votre formulaire n'a pas de champs obligatoires, il ne sera toujours pas validé et sauvegardé lorsqu'il est vide. Singe-corrige le formulaire en utilisant 'form.has_changed = lambda: True' pour le sauvegarder même s'il est vide. – bouke