gpt4 book ai didi

django-forms - 管理员列表过滤器中的 Django 自动完成 Light

转载 作者:行者123 更新时间:2023-12-04 21:10:35 24 4
gpt4 key购买 nike

我已经成功设置了自动完成注册表,并拥有我的 django 管理表单,如果你去表单,自动完成工作。我希望能够扩展自动完成功能以在 list_filter View 上工作。因此,当您查看 Admin.py 生成的 View 时——生成的 list_filter 输入也将使用自动完成 jquery + 服务 URL。

我没有看到文档中列出的任何内容,有人有任何指示吗?

最佳答案

如果您使用的 Django 版本高于 2.0,您可以尝试使用内置的 autocomplete用于此目的的字段。

By default, the admin uses a select-box interface () for those fields. Sometimes you don’t want to incur the overhead of selecting all the related instances to display in the dropdown.

The Select2 input looks similar to the default input but comes with a search feature that loads the options asynchronously


有一个简单的 app这样做:
安装使用: pip install django-admin-autocomplete-filter然后添加 admin_auto_filters给您的 INSTALLED_APPS在你的项目的 settings.py 里面。
假设我们有以下模型:
class Artist(models.Model):
name = models.CharField(max_length=128)

class Album(models.Model):
name = models.CharField(max_length=64)
artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
cover = models.CharField(max_length=256, null=True, default=None)
并且您想根据艺术家在专辑管理中过滤结果,那么您可以在艺术家中定义搜索字段,然后将过滤器定义为:
from admin_auto_filters.filters import AutocompleteFilter

class ArtistFilter(AutocompleteFilter):
title = 'Artist' # display title
field_name = 'artist' # name of the foreign key field

class ArtistAdmin(admin.ModelAdmin):
search_fields = ['name'] # this is required for django's autocomplete functionality
...

class AlbumAdmin(admin.ModelAdmin):
list_filter = [ArtistFilter]

'''
defining this class is required for AutocompleteFilter
it's a bug and I am working on it.
'''
class Media:
pass
执行这些步骤后,您可能会看到过滤器为:
autocomplete filter
search as you type

关于django-forms - 管理员列表过滤器中的 Django 自动完成 Light,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35388906/

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