django 扩展 ModelAdmin 字段集并保留默认值
有没有一种好方法可以添加自定义项目到子类 ModelAdmin 字段集中,即让它保留所有默认值和一些额外的内容。
(我知道我可以自己添加所有默认值,但希望有更好的方法)
is there a nice way to add custom items to a subclassed ModelAdmin fieldset, ie have it keep all the defaults and just some extras.
(i know i could add all the defaults back myself, but was hoping for a nicer way)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以重写 ModelAdmin 的 get_fieldsets 方法。
默认实现如下所示:
因此您可以覆盖它,例如如下所示:
You can override get_fieldsets method of ModelAdmin.
The default implementation looks like this:
So you can override it for example like this:
未经测试,但可能有效:
这将(如果有效)在继承的字段集之后添加其他字段集。
Untested, but may work:
This would (if it works) add the other fieldsets after the inherited ones.
下面是扩展自定义 ModelAdmin 类并添加额外字段集的示例。
请注意,我第一次尝试此操作时,我省略了“如果不是...”检查。每次刷新页面时,页面上都会重复多余的部分。
Here's an example of extending a custom ModelAdmin class and adding an extra fieldset.
Note the first time I tried this, I left out the "if not ..." check. Every time I refreshed the page, the extra sections were repeated on the page.
#models.py
#admin.py
您只需从 UserAdmin 获取默认字段集,并在 CustomUserAdmin 中更新它。
#models.py
#admin.py
you just need to grab the default fieldsets from UserAdmin, and update it in your CustomUserAdmin.