zoukankan      html  css  js  c++  java
  • modelform, formset, modelformset

    参考地址:https://www.cnblogs.com/DI-DIAO/p/8978780.html

    https://www.cnblogs.com/WiseAdministrator/articles/10975786.html

    https://www.cnblogs.com/clschao/articles/10486468.html#part_7

    formset:适用于对多个表单进行操作,字段需要也可以用model中的表的字段来作为验证规则。

    modelfoemset:适用于对多个表单进行操作,字段需要也可以用model中的表的字段来作为验证规则

    class StudyView(View):
    def get(self, request, course_id):
    # 创建formset对象
    formset_cls = modelformset_factory(model=models.StudyRecord, form=StudyRecordModelForm, extra=0)
    study_obj = models.StudyRecord.objects.filter(course_record_id=course_id)
    # 修改formset中的queryset的范围,此时的formset_cls会显示所有的StudyRecord中的数据
    formset = formset_cls(queryset=study_obj) # 通过自己指定queryset范围,前端只显示我们需要的数据
    return render(request, 'saleshtml/study.html', {'formset': formset})

    def post(self, request, course_id):
    formset_cls = modelformset_factory(model=models.StudyRecord, form=StudyRecordModelForm, extra=0) # extra表示显示完全部数据后,在后面留n行数据为空的地方
    formset = formset_cls(request.POST)
    if formset.is_valid():
    formset.save()
    return redirect(request.path)

    else:
    return render(request, 'saleshtml/study.html', {'formset': formset})

    formset部分自己查资料

     modelformset前端中要加入:(固定写法,不要问我为什么,我目前也不知道)

    1. {{ formset.management_form }},  2.  {{ field.id }} # field是循环formset之后的对象

  • 相关阅读:
    day 34
    day 33 线程锁
    day 32 操作系统、线程和进程(GIL锁)
    day 31 网络基础的补充
    day 30 多线程 socketserver模块补充
    python自学笔记 2019/07/01
    类与对象的概念
    递归及三种二分法
    好看的颜色
    zend 汉化
  • 原文地址:https://www.cnblogs.com/JackShi/p/12886409.html
Copyright © 2011-2022 走看看