gpt4 book ai didi

python - 如何在 django admin 中启用更改/删除 ForeignKey 实体?

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:17 27 4
gpt4 key购买 nike

ForeignKey 字段的 Django admin 呈现一个小的“加号”链接,允许创建新实体。

enter image description here

而且看起来它还能够呈现更改/删除外键对象的链接

https://github.com/django/django/blob/1.8/django/contrib/admin/templates/admin/related_widget_wrapper.html#L13

但是文档中没有示例显示如何使此功能可用。是否有任何未记录的选项?

最佳答案

答案就在 BaseModelAdmin 的代码中类和 RelatedFieldWidgetWrapper类。

BaseModelAdmin中,首先确保用户有权限添加、更改或删除相关模型的对象。

RelatedFieldWidgetWrapper 中,要更改或删除相关对象,还要确保该关系不是多对多关系。此外,如果为此关系启用级联删除,则无法删除相关对象。

权限默认为 True,我想您会知道是否更改了它们?如果确实没有,那么您无法更改相关对象的原因可能是您覆盖了 readonly_fields。管理模型中的属性,或 get_readonly_fields方法。

一旦看到更改按钮,您可能还看不到删除按钮,因为级联是默认设置。您可以通过设置 on_delete 来更改它创建外键时的属性。

关于python - 如何在 django admin 中启用更改/删除 ForeignKey 实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33497109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com