Python 如何在Django admin中预填充UserProfile字段?

Python 如何在Django admin中预填充UserProfile字段?,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,如果使用以下命令,则在管理中预填充大多数模型字段(用于生成slug)似乎很简单: prepopulated_fields = {"slug": ("name",)} 但是,当我使用下面的代码尝试预填充UserProfile字段时,它会给出此错误消息,即使我在UserProfile模型中显然有一个slug。(只是找错了型号,我不知道如何修复…) 错误: 在/admin/ “UserProfileAdmin.prepopulated_fields”指的是模型“User”中缺少的字段“slug”

如果使用以下命令,则在管理中预填充大多数模型字段(用于生成slug)似乎很简单:

prepopulated_fields = {"slug": ("name",)}  
但是,当我使用下面的代码尝试预填充UserProfile字段时,它会给出此错误消息,即使我在UserProfile模型中显然有一个slug。(只是找错了型号,我不知道如何修复…)

错误:

在/admin/
“UserProfileAdmin.prepopulated_fields”指的是模型“User”中缺少的字段“slug”

在settings.py中:

AUTH_PROFILE_MODULE = 'myapp.UserProfile'
在models.py中:

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    slug = models.SlugField(max_length=50)
在admin.py中:

class UserProfileInline(admin.StackedInline):
    model = UserProfile
    max_num = 1
    can_delete = False

class UserProfileAdmin(admin.ModelAdmin):
    inlines = [UserProfileInline]
    prepopulated_fields = {"slug": ("name",)}

admin.site.unregister(User)
admin.site.register(User, UserProfileAdmin)  

有人能在这里找出错误的原因吗?

slug
UserProfile
中的一个字段,但是
预填充的_字段={“slug:(“name”,)}
用户档案管理员的一个属性,应用于
用户

prepopulated_fields
触发一些javascript,该javascript会从同一模型的其他一些字段的值中自动生成SlugField的值。您尝试的是预填充不同模型的字段。
UserProfileAdmin
应用于
用户
预填充的_字段
指的是模型
用户
未知的
段塞
。它在
UserProfile
中定义


这就是为什么我认为这里最大的问题是名称
UserProfileAdmin
,它应该是
UserAdmin
。不要混淆应用了
预填充_字段的模型与内联的模型。即使存在OneToOne关系,它仍然是一个不同的模型。

slug字段在UserProfile中,name字段在User中。即使我为每个模型创建或重命名管理类,也无法解决我试图将预填充字段基于不同模型的问题。我收到错误消息:“UserAdmin.prepopulated_fields”指的是模型“User”中缺少的字段“slug”。