基于Django的ModelForm组件(详解)

yipeiwu_com6年前Python基础

创建类

from django.forms import ModelForm
from django.forms import widgets as wd
from app01 import models
class 类名(ModelForm):
  class Meta:
     model = models.表名     #models中的表名
     fields="__all__",           # 字段
     exclude=None,         # 排除字段
     widgets=None,          # 自定义插件
     error_messages=None,    # 自定义错误信息(整体错误信息from django.core.exceptions import NON_FIELD_ERRORS)
 
  
  def clean_字段名     #自定义钩子函数

实例化对象

form = 类名(instance=obj,data=request.POST)

instance传的是已有的对象(在页面中显示默认值)

data传的是从页面返回过来的值(用户输入的值 ,用来验证)

form.is_valid() #验证

form.save #将数据保存至数据库中(如果有instance参数就修改数据库中的记录,如果没有instance参数就在数据库中添加新的一条记录)

以上这篇基于Django的ModelForm组件(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现的希尔排序算法实例

本文实例讲述了python实现希尔排序算法的方法。分享给大家供大家参考。具体如下: def shellSort(items): inc = len(items) / 2 wh...

python实现在一个画布上画多个子图

python实现在一个画布上画多个子图

matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot. 均匀画图 使用import导入matplotlib.pyplot模块, 并简写...

python 实现识别图片上的数字

python 实现识别图片上的数字

Python 3.6 版本 Pytesseract 图像验证码识别 环境: (1) win7 64位 (2) Idea (3) python 3.6 (4) pip install pi...

对python中两种列表元素去重函数性能的比较方法

对python中两种列表元素去重函数性能的比较方法

测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*-...

利用打码兔和超人打码自封装的打码类分享

自封装的打码类, windows下建议用打码兔(调用的官方dll),linux下建议超人打码(http api) 复制代码 代码如下:# coding:utf-8from ctypes...