modelformset 是基于modelform实现的批量表单,包含了modelform的特点
使用方法:
1. 创建modelform
class StudyRecordModelForm(StarkModelForm):
class Meta:
model = models.StudyRecord
fields = ['record', ]
2. 使用modelformset_factory创建modelformset
- 参数1:model类
- 参数2:modelform对象
- 参数3:extra表示从第几个展示
from django.forms.models import modelformset_factory
study_model_formset = modelformset_factory(models.StudyRecord, form=StudyRecordModelForm, extra=0)
3. 在视图函数中把form_obj_list作为参数,进行实例化,并传递给前端
formset = study_model_formset(queryset=study_record_object_list)
4. 前端显示
- 在前端当不需要显示编辑框,只要显示内容(不可编辑)时,使用form.instance.字段名,form会从数据库直接获取字段内容
- 注意: 一定要加上 { { form.id }}