首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django,覆盖ManyToManyField

Django,覆盖ManyToManyField
EN

Stack Overflow用户
提问于 2011-02-10 02:45:13
回答 1查看 244关注 0票数 1

我正在基于ManyToManyRawIdWidget构建我自己的小部件。

但只要我在我的ModelAdmin中尝试以下内容:

代码语言:javascript
复制
formfield_overrides = {
    ManyToManyField: {'widget': ManyToManyRawIdWidget},
}

它会提示我

代码语言:javascript
复制
__init__() takes exactly 2 arguments (1 given)

我想我需要用一些东西来填充rel参数,可能是关系模型(这是一个Tag模型)

但后来我遇到了一个TemplateSyntaxError:

代码语言:javascript
复制
Caught AttributeError while rendering: type object 'Tag' has no attribute 'to'

这就是我失去监管的地方。有谁能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2011-02-10 03:24:13

我只想确保你注意到了documentation for formfield_overrides中的这个警告

警告

如果您想使用带有关系字段的自定义小部件(例如,ForeignKey或ManyToManyField),请确保在raw_id_fields或radio_fields中没有包含该字段的名称。

formfield_overrides不允许您更改设置了raw_id_fields或radio_fields的关系字段上的小部件。这是因为raw_id_fields和radio_fields暗示了它们自己的自定义小部件。

我不知道ManyToManyRawIdWidget,但从它的名称判断,我假设在这种情况下可能设置了raw_id_fields?这可能就是它不起作用的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4949089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档