|
|
1
256
ForeignKey由django.forms.ModelChoiceField表示,它是一个ChoiceField,其选项是模型查询集。有关详细信息,请参阅参考资料 ModelChoiceField .
因此,为字段的
|
|
|
2
145
除了S.Lott的答案和becomingGuru在评论中提到的,还可以通过覆盖
|
|
|
3
48
您不需要在form类中指定,但可以直接在ModelAdmin中指定,因为Django已经在ModelAdmin中包含了这个内置方法(来自文档):
实现这一点的一种更巧妙的方法(例如,在创建用户可以访问的前端管理界面时)是将ModelAdmin子类化,然后更改下面的方法。最终的结果是用户界面只显示与他们相关的内容,同时允许您(超级用户)查看所有内容。
第三个覆盖过滤任何包含引用的查询(在示例“user”或“horcupine”(如图所示)。 最后一个覆盖过滤模型中的任何foreignkey字段,以过滤与基本queryset相同的可用选项。 通过这种方式,您可以提供一个易于管理的面向前端的管理站点,允许用户处理他们自己的对象,并且您不必记得键入我们上面提到的特定ModelAdmin筛选器。
阻止删除权限
筛选管理网站上所有foreignkey字段的选项:
|
|
|
4
25
要使用常规视图(如CreateView)执行此操作。。。
|
|
5
4
如果尚未创建表单并希望更改查询集,则可以执行以下操作:
这在使用通用视图时非常有用! |
|
|
6
2
所以,我真的试着去理解这一点,但Django似乎仍然没有让这变得非常简单。我不是那么笨,但我就是看不到任何(有点)简单的解决方案。 我发现,对于这类事情,必须覆盖管理视图通常是非常难看的,而且我发现的每个示例都不完全适用于管理视图。 这是我制作的模型中常见的情况,我发现没有明显的解决方案是令人震惊的。。。 我有以下课程:
这在为公司设置管理员时会产生问题,因为它同时具有合同和位置的内联线,并且合同的位置m2m选项未根据您当前编辑的公司进行正确筛选。 简而言之,我需要一些管理选项来执行以下操作:
归根结底,我不在乎过滤过程是放在基本CompanyAdmin上,还是放在收缩行上。(将其放在内联上更有意义,但这样很难将基本契约引用为“self”。)
|
|
|
7
1
更公开的方法是在管理类中调用get_表单。它也适用于非数据库字段。例如,我在表单上有一个名为“_terminal_list”的字段,可在特殊情况下用于从get_list(请求)中选择几个终端项,然后根据请求进行过滤。用户:
|
|
|
8
-1
根据Django文档,您可以使用
|
|
|
Patrick Bond · 如何将模型中的函数结果添加到列表中? 1 年前 |
|
|
bur · 每次从模板调用方法都会查询数据库吗? 1 年前 |
|
|
Stefan · 在子目录中设置Django 1 年前 |
|
|
vale383 · 如何在Django端点中查找user_id 1 年前 |
|
|
Kovy Jacob · Django在动态URL段中添加斜线 1 年前 |
|
|
user987 · 如何在Django中访问提交的表单请求数据 1 年前 |
|
|
user24242514 · 将嵌套查询字符串请求转换为字典 1 年前 |