Django模型字段列表字段
django-mflf的Python项目详细描述
Django模型字段列表字段
这是一个Django模型字段,它提供了一些其他模型字段的列表。字段可以多选,并且“隐藏”以逗号分隔的字符串形式存储。包还提供了具有相同功能的简单表单域。在
要求
- Python 2.7+或Python 3.3+
- Django 1.11+
安装
使用pip安装django-mflf
:
pip install django-mflf
将model_field_list
添加到INSTALLED_APPS
。示例:
示例用法
模型字段:
frommodel_field_listimportModelFieldListFieldclassProductKind(models.Model):name=models.CharField(max_length=100)comparison=ModelFieldListField('comparison criteria',source_model=Product)
如果引用的模型有许多字段,则在Django admin中使用FilteredSelectMultiple
将非常有用:
fromdjango.contrib.admin.widgetsimportFilteredSelectMultipleclassProductKindAdminForm(forms.ModelForm):classMeta:widgets={# different widget label is intentional'comparison':FilteredSelectMultiple('product properties',False)}
简单表单域:
fromdjango.contrib.admin.widgetsimportFilteredSelectMultiplefrommodel_field_listimportModelFieldListFormFieldclassProductExportForm(ExportForm):export_fields=ModelFieldListFormField(source_model=Product,label='Export fields',widget=FilteredSelectMultiple('свойства товара',False))
局限性
- 列出了所有模型字段,没有以任何方式过滤它们的选项。在
- 字段顺序无法自定义-它们是按其在模型中定义的顺序排序的。在
- 项目
标签: