Django:在创建对象时搜索多对多字段

标签 django python-3.x django-models django-admin django-2.0

我有一个用例,其中有多个 Ingredient可以链接到 Recipe通过 Django 管理员。现在我有大约一百种成分,这使得在以下 UI 中选择成分变得非常困难。

enter image description here

有没有办法添加搜索字段或类似于 django 管理员的内容以便于选择?

最佳答案

你的选择很少。

1. filter_horizontal
使用 filter_horizo​​ntal,您可以在管理中使用水平 m2m ui。我更喜欢在管理中使用 m2m 的这种方式。

class YourAdmin(admin.ModelAdmin):
    filter_horizontal = ('m2m_field',)
    ...

而结果将是……

enter image description here

2. raw_id_fields docs

您可以使用 raw_id_fields用于在您的 m2m 字段中使用弹出式模式。

当你有很多 m2m 场时,它有点用。此外,很容易过滤要添加的 m2m obj。
class YourAdmin(admin.ModelAdmin):
    raw_id_fiedls = ('m2m_field',)
    ...

关于Django:在创建对象时搜索多对多字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51279020/

相关文章:

python-3.x - 在第一次写入时覆盖文本文件,然后附加到它 - Python

python - 如何通过过滤的桥接表字段对查询集进行排序?

python - 如何在 Django 中连接两个模型的结果?

python - Python 中带参数的双重方法调用的含义

python - 如何将两个相同的值分组并从 django、DRF 中的其他字段获取值

python - 属性错误: 'Settings' object has no attribute 'TEMPLATE_CONTEXT_PROCESSORS'

Django admin.py 过滤器中的 HTML 输入文本框

python - 如何查找和计算列表和文本之间的多个交集?

python - 通用详细 View UserProfileDetailView 必须使用对象 pk 或 URLconf 中的 slug 调用

django - 在 Pycharm 下运行 django 测试记录输出