ModelForm
    a.  class Meta:
            model,                           # 对应Model的
            fields=None,                     # 字段
            exclude=None,                    # 排除字段
            labels=None,                     # 提示信息
            help_texts=None,                 # 帮助提示信息
            widgets=None,                    # 自定义插件
            error_messages=None,             # 自定义错误信息(整体错误信息from django.core.exceptions import NON_FIELD_ERRORS)
            field_classes=None               # 自定义字段类 (也可以自定义字段)
            localized_fields=('birth_date',) # 本地化,如:根据不同时区显示数据
            如:
                数据库中
                    2016-12-27 04:10:57
                setting中的配置
                    TIME_ZONE = 'Asia/Shanghai'
                    USE_TZ = True
                则显示:
                    2016-12-27 12:10:57
    b. 验证执行过程
        is_valid -> full_clean -> 钩子 -> 整体错误
 
    c. 字典字段验证
        def clean_字段名(self):
            # 可以抛出异常
            # from django.core.exceptions import ValidationError
            return "新值"
    d. 用于验证
        model_form_obj = XXOOModelForm()
        model_form_obj.is_valid()
        model_form_obj.errors.as_json()
        model_form_obj.clean()
        model_form_obj.cleaned_data
    e. 用于创建
        model_form_obj = XXOOModelForm(request.POST)
        #### 页面显示,并提交 #####
        # 默认保存多对多
            obj = form.save(commit=True)
        # 不做任何操作,内部定义 save_m2m(用于保存多对多)
            obj = form.save(commit=False)
            obj.save()      # 保存单表信息
            obj.save_m2m()  # 保存关联多对多信息
 
    f. 用于更新和初始化
        obj = model.tb.objects.get(id=1)
        model_form_obj = XXOOModelForm(request.POST,instance=obj)
        ...
 
        PS: 单纯初始化
            model_form_obj = XXOOModelForm(initial={...})

  

最新文章

  1. python的应该关注的语法
  2. sql查询当天,一周,一个月数据的语句
  3. Linux学习--------二
  4. BizTalk开发系列(十六) XML命名空间
  5. 关于STM32 RTC的使用
  6. C++类的成员函数(在类外定义成员函数、inline成员函数)
  7. node.js + express(ejs) + mongodb(mongoose) 增删改实例
  8. 由动态库文件dll生成lib库文件(手动生成.def文件,然后使用lib命令编译,非常牛),同理可使用dll生成.a库文件
  9. 在VS中实现webService的一个demo(图解)
  10. redis 队列缓存 + mysql 批量入库 + php 离线整合
  11. css颜色渐变在不同浏览器的设置
  12. java程序的工作原理
  13. HDU5057(分块)
  14. CSS,注意点!!!!!!!
  15. [LeetCode] Rotate String 旋转字符串
  16. C++——智能指针unique_ptr的实现
  17. 2018(2017)美图java服务端笔试(回忆录)
  18. linux中启动 java -jar 运行程序
  19. proxyTable设置代理解决跨域问题
  20. C#容器类,性能介绍

热门文章

  1. Error: Error SSL Required Code: 403
  2. NS_ENUM和NS_OPTIONS宏
  3. 围绕react衍生出来的思考
  4. About me and this site(2018/8/28)
  5. AQS(一) 对CLH队列的增强
  6. mysql获取汉字首字母函数
  7. Git-SSH
  8. iOS之UIKeyboardType 11种键盘图片展示
  9. redis之cluster(集群)
  10. mysql-介绍