【发布时间】:2018-07-27 20:38:05
【问题描述】:
我在 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 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)
我面临的问题,这个内联出现在用户添加表单和更改用户表单中。我不希望它在添加用户时显示。
Like 在此屏幕截图中:内联表单与添加用户表单一起出现!我不希望它在这里添加内联表单。但我想在使用其他表单(如个人表单、信息表单)编辑用户时显示内联表单。
【问题讨论】:
标签: python django django-admin