我有以下管理设置,以便我可以同时添加/编辑用户及其个人资料。
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)
问题是在添加用户时我需要配置文件内联表单中的两个字段。除非输入输入,否则内联表单不会验证。有没有办法使内联成为必需的,这样它就不能留空?
原文由 AJ. 发布,翻译遵循 CC BY-SA 4.0 许可协议
我采纳了 Carl 的建议并做了比我在对他的回答的评论中提到的 hack-ish 更好的实现。这是我的解决方案:
从我的 forms.py 中:
和 admin.py
这正是我想要的,它使配置文件内联表单集有效。因此,由于配置文件表单中有必填字段,如果未在内联表单中输入所需信息,它将验证并失败。