【发布时间】:2021-05-09 12:14:03
【问题描述】:
我在 Django 中有两个一对一相关的模型。简化版如下:
class User(models.Model):
name = models.CharField(max_length=40)
class Profile(models.Model):
age = models.IntegerField()
user = models.OneToOneField(User, on_delete=models.CASCADE)
我已使用信号在创建新用户时自动创建配置文件。
我还创建了一个 ProfileInline 并将其包含在我的 UserAdmin 中,如下所示:
class ProfileInline(admin.TabularInline):
model = Profile
can_delete = False
class UserAdmin(admin.ModelAdmin):
list_display = ('name',)
inlines = [ProfileInline,]
我面临的问题是,当在管理模块中创建新用户时,创建新用户的人也在同一页面上填充内联字段,保存时会生成错误,因为两者信号模块和管理员正在尝试创建一个新的配置文件。
添加新用户时,有什么方法可以防止 ProfileInline 在 UserAdmin 中显示?
谢谢。
【问题讨论】:
标签: django django-admin