博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django重新整理4---ModelForm-set(批量处理数据)
阅读量:6257 次
发布时间:2019-06-22

本文共 2334 字,大约阅读时间需要 7 分钟。

1.

#引用modelformsetfrom django.forms.models import modelformset_factory#必须继承forms.ModelForm!class StudentStudyRecordModelForm(forms.ModelForm):    class Meta:#需要建立关联的表StudentStudyRecord        model = StudentStudyRecord#score", "homework_note  显示的字段        fields = ["score", "homework_note"]

2.

class RecordScoreView(View):    def get(self, request, class_study_record_id):        # modelformset_factory固定的写法 ,model=StudentStudyRecord这是需要关联的表名,form后边是我们上边的新建类名 ,  extra=0  不加它默认数据多一行        model_formset_cls = modelformset_factory(model=StudentStudyRecord, form=StudentStudyRecordModelForm, extra=0)        queryset = StudentStudyRecord.objects.filter(classstudyrecord=class_study_record_id)        print(class_study_record_id)   #2 第2天的课程        print("queryset",queryset)   #查询第2天课程的学生记录        formset = model_formset_cls(queryset=queryset)        return render(request, "record_score.html", locals())    def post(self, request, class_study_record_id):        model_formset_cls = modelformset_factory(model=StudentStudyRecord, form=StudentStudyRecordModelForm, extra=0)        queryset = StudentStudyRecord.objects.filter(classstudyrecord=class_study_record_id)        # print("request.POST", request.POST)        formset = model_formset_cls(request.POST)        #??????????????????????????????//        print("formset",formset)        print(123456789)        #判断是否通过校验        if formset.is_valid():            formset.save()        # print(formset.errors)        return redirect(request.path)

3.

#record_score.html    
Title

录入{
{ class_study_record_obj.class_obj }}day{
{ class_study_record_obj.day_num }}成绩

学习记录
{
% csrf_token %} {
# 固定的写法#} {
{ formset.management_form }}
{ % for form in formset %}
{ { form.id }}
{ % endfor %}
姓名 考勤 作业成绩 作业评语
{ { form.instance.student }} { { form.instance.get_record_display }} { { form.score }} { { form.homework_note }}

 

转载于:https://www.cnblogs.com/lzqrkn/p/9995731.html

你可能感兴趣的文章
取消文件默认打开方式
查看>>
echarts使用笔记四:双Y轴
查看>>
二分法查找
查看>>
不用加减乘除实现加法运算
查看>>
django 快速搭建blog
查看>>
矩阵快速幂总结
查看>>
Python 3.5 安装geohash库后import geohash失败
查看>>
基于V4L2的视频驱动开发(1)
查看>>
zoj 1008
查看>>
VC++ CArchive及简单的文件操作方法
查看>>
android中ListView数据混乱问题
查看>>
如何从零安装Mysql
查看>>
Appium简介及工作原理
查看>>
更换笔记本内存:自己动手修电脑(一)
查看>>
区分扫描枪输入和键盘输入的实现
查看>>
【mongdb主从复制和同步】
查看>>
下载文件downloadFile
查看>>
cf-Round542-Div2-B(贪心)
查看>>
日志挖掘(logminer)
查看>>
LaTeX技巧005:定制自己炫酷的章节样式实例
查看>>