Jquery 如何在django中使用自动完成灯光动态创建选项

Jquery 如何在django中使用自动完成灯光动态创建选项,jquery,django,widget,on-the-fly,django-autocomplete-light,Jquery,Django,Widget,On The Fly,Django Autocomplete Light,我能自动完成工作 django版本:1.8 class DocUploadForm(autocomplete_light.ModelForm): class Meta: model = Document # widgets = {'tags' : autocomplete_light.MultipleChoiceWidget('TagAutocomplete')} autocomplete_fields = ('tags',)

我能自动完成工作

django版本:1.8

class DocUploadForm(autocomplete_light.ModelForm):
    class Meta:
        model = Document
        # widgets = {'tags' : autocomplete_light.MultipleChoiceWidget('TagAutocomplete')}
        autocomplete_fields = ('tags',)
        exclude = ['organization','private_user']
但我还想动态创建选项,这些选项应该保存在
Tag
model中

据我了解,将使用
remote.js

因此,我将以下代码片段添加到
autocomplete\u light\u registry.py

'data-bootstrap':'rest\u modal'

'autocomplete':'remote'

下面的
remote.js
代码段也被触发

$('body').on('initialize', '.autocomplete-light-widget[data-  bootstrap=rest_model]', function() {
    $(this).yourlabsWidget(yourlabs.RemoteAutocompleteWidget);
});

但是,仍然没有调用
remote.js
getValue
函数

型号.py

class Document(models.Model):
    tags = models.ManyToManyField(Tag)

class Tag(models.Model):
    name = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(unique=True)
    def __str__(self):
        return self.name
autocomplete_light.register(Tag,
    search_fields=['name'],

    attrs={
       'autocomplete' : 'remote',
       'placeholder': 'Please enter related tags?',
        'data-autocomplete-minimum-characters': 1,
    },
    widget_attrs={
        'data-bootstrap':'rest_modal',
        'data-widget-maximum-values': 4,
        'class': 'modern-style',
    },
)
自动完成\u light\u注册表.py

class Document(models.Model):
    tags = models.ManyToManyField(Tag)

class Tag(models.Model):
    name = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(unique=True)
    def __str__(self):
        return self.name
autocomplete_light.register(Tag,
    search_fields=['name'],

    attrs={
       'autocomplete' : 'remote',
       'placeholder': 'Please enter related tags?',
        'data-autocomplete-minimum-characters': 1,
    },
    widget_attrs={
        'data-bootstrap':'rest_modal',
        'data-widget-maximum-values': 4,
        'class': 'modern-style',
    },
)
forms.py:

class DocUploadForm(autocomplete_light.ModelForm):
    class Meta:
        model = Document
        # widgets = {'tags' : autocomplete_light.MultipleChoiceWidget('TagAutocomplete')}
        autocomplete_fields = ('tags',)
        exclude = ['organization','private_user']
我错过了什么?

如果问题或代码中需要更清晰的内容,一定要提问


提前感谢。

这里不需要Remote.js

  • 在应用程序中实现对象创建
  • 用你自己的
  • 示例应用程序:

    实例: