Tôi có thiết lập quản trị sau để tôi có thể thêm/chỉnh sửa người dùng và tiểu sử của họ cùng một lúc.Làm cách nào để yêu cầu nội tuyến trong Quản trị viên Django?
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)
Vấn đề là tôi cần hai trường trong biểu mẫu nội tuyến Tiểu sử cần thiết khi thêm người dùng. Biểu mẫu nội dòng không xác thực trừ khi nhập vào. Có anyway để làm cho nội tuyến cần thiết, để nó không thể để trống?
Nếu bạn đang sử dụng 'GenericInlineModelAdmin', thay thế' BaseInlineFormSet' bằng 'BaseGenericInlineFormSet'. – L42y
Cảm ơn! Tuy nhiên, nếu biểu mẫu của bạn không có các trường bắt buộc, biểu mẫu sẽ vẫn không xác thực và lưu khi trống. Khỉ-vá các hình thức bằng cách sử dụng 'form.has_changed = lambda: True' để có nó được lưu mặc dù bị trống. – bouke