选择widget的选项会更改,而另一个字段的值会更改。
django-gazing-select-widget的Python项目详细描述
django gazing选择小部件
选择widget的选项会更改,而另一个字段的值会更改。在
安装
pip install django-gazing-select-widget
djangagazingSelectWidget初始化参数
^{pr2}$- gazing_field_name:注视场的名称。在
- this_field_name:此字段的名称。在
- choices\u related:元组列表(option_value,related_value)
- 这意味着,如果gazing_字段值等于相关的_值,则显示带有option_value的选项。在
- gazing_related:默认为true,表示注视字段与此字段处于同一级别。
- 如果设置为false,则注视字段始终位于窗体的顶层。在
- 空的_标签:定义为“-”*10。此字段的空值选项。在
- 如果为空则隐藏全部:默认为true。如果为true,则在注视值为空时隐藏所有选项。如果为false,则如果注视值为空,则显示所有选项。在
- attrs:与系统默认的Select小部件相同。在
- 选项:与系统的默认选择小部件相同。
- choices可以是一个可调用的对象,如果它是一个可调用对象,它将在get_context之前被再次调用。在
使用
**专业/设置.py在
INSTALLED_APPS=[...'django_static_jquery3','django_gazing_select_widget',...]
应用程序/管理员py
fromdjango.contribimportadminfromdjangoimportformsfromdjango_gazing_select_widget.widgetsimportDjangoGazingSelectWidgetfrom.modelsimportCategorycat1_choices=[("","-"*10),(1,"1"),(2,"2"),]cat2_choices=[("group1",[(1,"a1"),(2,"b1"),(3,"c1"),(4,"d1"),]),("group2",[(5,"a2"),(6,"b2"),(7,"c2"),(8,"d2"),]),]cat2_choices_related={1:["1"],2:["1"],3:["1"],4:["1"],5:["2"],6:["2"],7:["2"],8:["2"],}classCategoryForm(forms.ModelForm):classMeta:model=Categoryexclude=[]widgets={"cat1":forms.Select(choices=cat1_choices),"cat2":DjangoGazingSelectWidget(gazing_field="cat1",choices=cat2_choices,choices_related=cat2_choices_related,hide_all_if_empty=False),}classCategoryAdmin(admin.ModelAdmin):list_display=["cat1","cat2","name"]form=CategoryFormadmin.site.register(Category,CategoryAdmin)
注意:
- 第二类野战正在注视着一类野战。在
- 如果字段cat1的值为空,则在字段cat2中显示无选项。在
- 如果字段cat1的值为1,则在字段cat2中显示group1选项。在
- 如果字段cat1的值为2,则在字段cat2中显示group2选项。在
释放
v0.1.1 2020/03/28
- 添加可调用选择支持。在
- 添加与凝视相关的支持。在
v0.1.0 2020/03/28
- 第一次发布。在
- 项目
标签: