django - Django 中的 ModelAdmin 相关问题
问题描述
下面是我在 admin.py 文件中的代码。
class JobAdmin(admin.ModelAdmin):
prepopulated_fields = {'slug': ('title', 'organization',)}
save_as = True
admin.site.register(Job, JobAdmin)
问题 #1:
我正在尝试使用 2 个不同的字段预填充我的 slug。标题字段被正确填充,而组织字段是外键字段,它也被填充但具有整数值。我想让这个字段填充其原始值,即组织模型中的名称字段。为此,我确实尝试按如下方式更改组织字段:
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 管理文档,但我无法理解还需要做什么才能启用它。
如果有人能帮助我解决这些问题,我将不胜感激。感谢您的时间和提前帮助!
解决方案
问题一:
根据文档,预填充字段是通过 Javascript 完成的。您使用的语法是 Django ORM 语法。我认为您不能在那里使用相关的字段属性。您只能使用给定模型上的属性。
设置后,给定字段将使用一些 JavaScript 从分配的字段中填充。
问题 2:
这就是你应该做的。您是否有可能在创建新工作时正在寻找按钮?
推荐阅读
- node.js - 从 body-parser 传递参数以获取 JSON 数据的问题
- android - 仅在 recyclerview 上的滚动条边距(而不是 recyclerview)
- r - R 如果三个或更多值是 NA,则删除行
- .net - 当流调用循环很大时,Grpc 双向流被对等端终止?
- php - 使用 livewire 从 URL 获取类型参数值
- reactjs - React路由器:使用url参数重定向?
- docker - nginx server block + docker,前后如何通信
- java - 责任链 lambda 函数
- firebase - 事务中单个文档的多次更新是否会在 Firestore 中为每个更新分别产生写入成本
- django - 社交登录后将 Django 重定向到自定义页面,然后使用 ?next 重定向到上一页