我有以下管理員設置,以便我可以同時添加/編輯用戶及其個人資料。如何在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