我有以下管理员设置,以便我可以同时添加/编辑用户及其个人资料。如何在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)
问题是我需要添加用户时需要配置文件内联表单中的两个字段。除非输入内容,否则内联表单不会生效。无论如何需要内联,以便它不能留空?
如果您正在使用`GenericInlineModelAdmin`,请将`BaseInlineFormSet`替换为`BaseGenericInlineFormSet`。 – L42y 2012-02-24 03:39:27
谢谢!但是,如果您的表单没有必填字段,则在空白时仍不会进行验证和保存。使用`form.has_changed = lambda:True`对表单进行修补,尽管它是空的,但可以保存它。 – bouke 2012-05-13 10:16:51