Django 自动完成指示灯未加载选择列表
我正在尝试让自动完成灯在我的应用程序的管理区工作。文档位于此处:Django 自动完成指示灯未加载选择列表,django,django-autocomplete-light,Django,Django Autocomplete Light,我正在尝试让自动完成灯在我的应用程序的管理区工作。文档位于此处: 外键选择列表正在消失,一个基本文本框按预期显示。但是选择列表没有显示 我已经安装了应用程序,并在my URL.py中放置了相应的include 相关型号: class Inventory(models.Model): title = models.CharField(max_length=100, db_index=True) product_code = models.CharField(max_lengt
class Inventory(models.Model):
title = models.CharField(max_length=100, db_index=True)
product_code = models.CharField(max_length=100, db_index=True, primary_key = True)
class Customer_Order(models.Model):
order_id = models.CharField(max_length=100, db_index=True, null = True, blank = True)
customer_id = models.ForeignKey('inventory.Customer')
products = models.ManyToManyField('inventory.Inventory', through='inventory.Customer_Order_Products')
class Customer_Order_Products(models.Model):
order_id = models.ForeignKey('inventory.Customer_Order')
product_id = models.ForeignKey('inventory.Inventory')
自动完成\u light\u registry.py:
import autocomplete_light
from inventory.models import Inventory
autocomplete_light.register(Inventory, search_fields=('title',),
autocomplete_js_attributes={'placeholder': 'city name ..'})
admin.py:
class Customer_Order_ProductsInline(enhanced_admin.EnhancedAdminMixin, admin.TabularInline):
model = Customer_Order.products.through
extra = 0
form = autocomplete_light.modelform_factory(Customer_Order_Products)
class Customer_OrderAdmin(enhanced_admin.EnhancedModelAdminMixin, admin.ModelAdmin):
inlines = (Customer_Order_ProductsInline, OrderStatusInline )
我自己的调试:
- 我已转到/autocomplete/并找到已注册的目录标题列表,但它并不完整。它只显示了155个中的20个
- 我已经确保在html中加载了正确的文件。所有的包裹似乎都出现了。我在终端上得到了304码,但我认为这没问题。我唯一无法确保加载的是jquery的链接。我在html源代码的标题中找到了指向脚本的链接,并检查了该链接(https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js)这似乎有效
- 我刚刚在web developer错误控制台中发现了这个错误:TypeError:“undefined”不是widget.js第297行的函数(计算“$(this).yourlabsWidget()”)。这表明至少有widget.js正在加载 最后,当我更新一个现有的CuuleService订单时,空白字段显示在常规的外键拉下旁边。没有取代它。我不知道为什么会这样
添加客户订单|艺术品和纤维
窗口。_uadmin_media_前缀_uu=“/static/admin/”;
后来
<span class="autocomplete-light-widget customer_order_products_set-0-product_id
single"
id="id_customer_order_products_set-0-product_id-wrapper"
data-max-values="1" data-bootstrap="normal"
data-autocomplete-url="/autocomplete/InventoryAutocomplete/" data-autocomplete-choice-selector="[data-value]" data-autocomplete-placeholder="Product name .."
>
所以我对Django和“自动完成灯光”工具栏也不熟悉,但我让它为我工作。调试时需要注意以下几点:
- Firefox+Firebug对我来说真的很有用。您可以准确地看到javascript和html页面中实时加载的内容。(这样您可以在框中键入时看到正在进行的自动完成灯光查询)
- Django调试工具栏也非常有用。您可以看到对数据库进行了哪些查询
- 我无法从您发布的代码片段中判断,但您是否在admin/base\u site.html或customer\u order/index.html模板中包含以下内容 {%include'autocomplete\u light/static.html%}
- 您的admin.py文件末尾似乎也缺少以下内容: 管理站点注册(客户订单,客户订单管理)
<span class="autocomplete-light-widget customer_order_products_set-0-product_id
single"
id="id_customer_order_products_set-0-product_id-wrapper"
data-max-values="1" data-bootstrap="normal"
data-autocomplete-url="/autocomplete/InventoryAutocomplete/" data-autocomplete-choice-selector="[data-value]" data-autocomplete-placeholder="Product name .."
>