Django中ModelAdmin相关问题

ModelAdmin related issues in Django

下面是我在 admin.py 文件中的代码。

class JobAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug': ('title', 'organization',)}
    save_as = True

admin.site.register(Job, JobAdmin)

问题 #1:

我正在尝试使用 2 个不同的字段预填充我的 slug。 title 字段被正确填充,而 organization 字段是一个外键字段,它也被填充但具有整数值。我想用它的原始值填充这个字段,它是组织模型中的名称字段。为此,我确实尝试按如下方式更改组织字段:

class JobAdmin(admin.ModelAdmin):
    prepopulated_fields = {'slug': ('title', 'organization__name',)}

但这给了我一个错误。

ERRORS:
<class 'jobs.admin.JobAdmin'>: (admin.E030) The value of 'prepopulated_fields["slug"][0]' refers to 'organization__name', which is not an attribute of 'jobs.Job'.

System check identified 1 issue (0 silenced).

问题 #2:

save_as = True 不启用“另存为新”按钮。我确实提到了 Django Admin Document,但我无法理解还需要做什么才能启用它。

如果有人能帮助我解决这些问题,我将不胜感激。提前感谢您的宝贵时间和帮助!

问题 1:

根据 docs,预填充字段是通过 Javascript 完成的。您使用的语法是 Django ORM 语法。我认为您不能在那里使用相关字段 属性。您只能使用给定模型的属性。

When set, the given fields will use a bit of JavaScript to populate from the fields assigned.

问题 2:

这就是您应该做的全部。是否有可能您在创建新任务时正在寻找按钮?