AutoModelSelect2Field使用django-select2无法正常工作

时间:2013-07-29 18:21:34

标签: django jquery-select2

我使用select2作为我的下拉菜单。我有一些18000个条目的下拉列表,所以我想使用HeavySelect2Widget。我收到一个错误            
使用参数()和关键字参数'{}'找不到'django_select2_central_json'的反转
知道问题是什么。使用的类和字段名称在下面给出


class EmployeeChoices(AutoModelSelect2Field):
   fname = FirstName()
   queryset = [(1,'value 1')]#fname.getAllNames()
   search_fields = ['name__icontains',]

field_name = EmployeeChoices(
    required=False,
    widget=AutoHeavySelect2Widget(
        select2_options={
            'placeholder': u"Select a choice"
        }
    ),
    label=''
)

3 个答案:

答案 0 :(得分:7)

您必须在urls.py中添加django_select2网址:

from django.conf.urls import patterns, url, include

urlpatterns = patterns('',
    url(...),
    url(r'^someurlprefix/', include('django_select2.urls')),
    url(...),
)

r'^someprefix/'是一个正则表达式,url_patterns使用此正则表达式将URL映射到视图函数。如果您在此处指定前缀(它甚至可以是r'',这是我个人使用的),Django的reverse函数将自动提供正确的URL以进入django_select2_central_json视图。

另请查看有关Django url dispatcher的文档。

答案 1 :(得分:0)

我可以在目录中添加以下行:/static/suit/js/suit.js

添加:

(function ($) {
    Suit.after_inline.register('init_select2', function(inline_prefix, row){
        $(row).find('select').select2(); 
    });

答案 2 :(得分:0)

在您的项目设置urls.py中添加django_select2网址:

url(r'^select2/', include('django_select2.urls')),