2017-11-30 1 views
0

複数選択ウィジェットには多くのオプションがあるので、複雑な選択ウィジェットが必要です。しかし、私はHeavySelect2MultipleWidgetがそれを使用するためのビューとURLを必要とすることを知っています。私はデフォルトでWagtailにそれが可能ではないと思う。Wagtail ParentalManyToManyFieldでdjango_select2ウィジェットを使用することは可能ですか

これはコードです:

FieldPanel('authors', widget=HeavySelect2MultipleWidget) 

を使用するとよいでしょう

class Resource(Page): 
authors = ParentalManyToManyField('Authors', blank=True) 

content_panels = Page.content_panels + [ 
    FieldPanel('authors', widget=forms.CheckboxSelectMultiple) 
] 

が、それはあなたが "data_view" または "data_url" を指定エーテルなければなりません

を上げます。

答えて

0

Django-Select2の文書によれば、属性を持つウィジェットを最初に起動(呼び出し)する必要があります。

エラーが - data_urlまたはdata_viewと表示されているため、ウィジェットには提供されていません。

ユースケース固有のビューまたはURLを生成するのはあなた次第です。あなたのページモデルのoverride the serve methodを使って、データを提供し、適切なURLパターンを提供するか、単にドキュメントhere (see Heavy Components section)と異なるビューを作成することができます。例えば

FieldPanel(
    'authors', 
    widget=HeavySelect2MultipleWidget(
     data_url='url/to/json/resonse' 
    ) 
) 

HeavySelect2MultipleWidgetがHeavySelect2Widgetを拡張 - 詳細についてのドキュメントを参照してください。私は、この特定のウィジェットを使用していないが、同様のセットアップでセキレイでDjangoの-Selectセレクトを使用していた http://django-select2.readthedocs.io/en/latest/django_select2.html#django_select2.forms.HeavySelect2Widget

をそれはうまくいきました。

関連する問題