Python 使用Django admin用户表单添加内联用户配置文件表单时出现问题
我在django项目中遇到了一个小问题,我希望我能在这里得到一些好的答案 我通过以下代码将用户配置文件内联表单添加到django用户表单中:Python 使用Django admin用户表单添加内联用户配置文件表单时出现问题,python,django,django-admin,Python,Django,Django Admin,我在django项目中遇到了一个小问题,我希望我能在这里得到一些好的答案 我通过以下代码将用户配置文件内联表单添加到django用户表单中: from django.core.exceptions import ValidationError from django.contrib import admin from django.contrib.auth.admin import UserAdmin from django.contrib.auth.forms import UserChang
from django.core.exceptions import ValidationError
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import UserChangeForm, UserCreationForm
from django.contrib.auth.models import User
from djangocalendar.models import UserProfile
from tableapp.models import *
from djangocalendar.models import *
from django import forms
class UserProfileInline(admin.StackedInline):
model = UserProfile
can_delete = True
verbose_name_plural = 'profile'
class MyUserChangeForm(UserChangeForm):
def clean_first_name(self):
if self.cleaned_data["first_name"].strip() == '':
raise ValidationError("First name is required.")
return self.cleaned_data["first_name"]
def clean_last_name(self):
if self.cleaned_data["last_name"].strip() == '':
raise ValidationError("Last name is required.")
return self.cleaned_data["last_name"]
# Define a new User admin
class MyUserAdmin(UserAdmin):
form = MyUserChangeForm
inlines = UserProfileInline,
# Register your models here
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
我面临的问题是,这个内联出现在用户添加表单和更改用户表单中。我不希望在添加用户时显示它
如此屏幕截图所示:内联表单与添加用户表单一起出现!我不想在这里添加内联表单。但我想在使用其他表单(如个人表单、信息表单)编辑用户时显示内联表单
我找到了解决办法
定义一个新的用户管理员
我找到了解决办法
定义一个新的用户管理员
class MyUserAdmin(UserAdmin):
form = MyUserChangeForm
inlines = UserProfileInline,
def get_inline_instances(self, request, obj=None):
if not obj:
return list()
return super(MyUserAdmin, self).get_inline_instances(request, obj)