【问题标题】:django autocomplete light on admin: how does it work?管理员上的 django 自动完成灯:它是如何工作的?
【发布时间】:2015-06-20 09:16:35
【问题描述】:

我正在尝试在管理员模型上制作可搜索的客户外键。

我已经安装了 Django 自动补全灯,但我看不到作品。

我正在尝试这个。

admin.py

import autocomplete_light

class RedAdminForm(forms.ModelForm):
    class Meta:
        model = Red
        widget = {'customer': autocomplete_light.ChoiceWidget('CustomerAutocomplete')}


class RedAdmin(admin.ModelAdmin):
    #form = RedAdminForm
    list_display = ("id", "customer","sponsor")
    list_per_page = 10
    search_fields=['customer__username', 'sponsor__username']
    #raw_id_fields = ('customer','sponsor',)
    form = autocomplete_light.modelform_factory(Red)

admin.site.register(Red, RedAdmin)

我也有模块的所有css和js静态文件,已经安装并安装了已安装的应用程序。

autocomplete_light_registry.py

import autocomplete_light
from django.contrib.auth.models import User

autocomplete_light.register(User)

显示 ajax 请求错误:

FieldError at /autocomplete/UserAutocomplete/ Cannot resolve keyword u'name' into field. Choices are: 

【问题讨论】:

  • 谁能帮我编辑这里的语言?有些句子似乎很奇怪,以至于我不确定它们的含义。
  • 您是否在 settings.py 文件中的已安装应用中添加了自动完成功能
  • 是的,我已添加并已使 collectstatic
  • 显示错误:/autocomplete/UserAutocomplete/ 处的 FieldError 无法将关键字 u'name' 解析为字段。选择是:

标签: python django autocomplete django-admin django-autocomplete-light


【解决方案1】:

目前,autocomplete-light 不会重用 ModelAdmin 的 search_fields。有一个open PR for that

尝试使用 search_fields 注册,即:

registry.register(User, search_fields=['username', 'email'])

【讨论】:

    猜你喜欢
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2020-03-30
    相关资源
    最近更新 更多