美文网首页
Django模型表单基本操作

Django模型表单基本操作

作者: Chaweys | 来源:发表于2020-11-04 17:41 被阅读0次

模型表单
模型表单指绑定到模型的表单。自定义的模型表单需扩展django.forms模块提供的ModelForm类。
模型表单基本操作包括定义模型、定义模型表单以及使用模型表单为数据库添加和修改数据。

1、定义模型
举例:E:\HDCZU_Test\chapter7\app\models.py
from django.db import models
class person(models.Model):
    name=models.CharField(max_length=50)
    age=models.SmallIntegerField()
    
【注】用于模型表单的模型与普通模型并没有任何区别


2、定义模型表单类
举例:E:\HDCZU_Test\chapter7\app\views.py
from django.forms import ModelForm
from app.models import person
class personForm(ModelForm):
    class Meta:
        model=person             #指定模型
        #fields=['name','age']    #指定字段
        fields=['name','age']    #指定字段,即这里指定所有字段
        
模型表单有两个特点:
(1)、必须继承django.forms.ModelForm类
(2)、提供子类Meta,在Meta的model字段中绑定模型,在fields字段中设置在表单中使用的模型字段。也可以使用特殊值"__all__"表示使用模型全部字段:
    如:fields="__all__"
也可使用exclude属性来排除不使用的字段。实例代码如下:
    如:exclude=['age']
    
    
    
3、使用模型表单为数据库添加数据
首先使用数据作为参数来创建模型表单,在调用表单的save()方法将数据写入数据库,如下:
{使用python的交互环境来添加数据库数据}

>>> from app.models import person
>>> from app.views import personForm
>>> one=personFrom({'name':'张三','age':25})
>>> one.save()
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: app_person
是因为未进行数据库迁移:
E:\HDCZU_Test\chapter7>python manage.py makemigrations
E:\HDCZU_Test\chapter7>python manage.py migrate

>>> one.save()                #保存表单字段数据到数据库
<person: person object (1)>
>>> d=person.objects.all()[0] #获取数据库中的第一条记录对象
>>> d.name,d.age              #查看获取的第一条记录的对象具体值
('张三', 25)
>>>



4、使用模型表单修改数据库
在创建模型表单对象时,可使用instance参数指定模型对象,save()方法使用模型表单的数据修改模型对象,从而修改其关联的数据库记录,如下:
>>> d=person.objects.all()[0]
>>> d.name,d.age
('张三', 25)     #首先获取得知d对象为张三

>>> one=personForm({"name":"李四","age":30},instance=d) #修改d对象,创建关联模型对象的模型表单
>>> one.save()                    #再次保存表单
<person: person object (1)>
>>> d=person.objects.get(id=1)
>>> d.name,d.age                  #通过模型对象查看修改后的数据
('李四', 30)

相关文章

  • Django模型表单基本操作

  • Django 模型数据操作

    MySQL记录添加和查询的基本方法: Django 模型数据操作 python manage.py shell ...

  • Django 表单处理流程

    Django 的表单处理:视图获取请求,执行所需的任何操作,包括从模型中读取数据,然后生成并返回HTML页面(从模...

  • Django 模型和表单

    1、Django模型 数据库配置 以MySQL为例 有中文注释需要在setting.py文件头部添加# -*- c...

  • Django表单(二)

    什么是django表单 django中的表单不是html中的那个表单,这里是指django有一个组件名叫表单 它可...

  • MySQL的基本操作

    1.数据库的基本操作 2.表单的基本操作 3.表单数据的操作 4.复杂一些的筛选操作

  • Django表单

    Django表单 一、构建表单 1.直接构建表单 2.Django构建表单 (1)Form 类 forms.py ...

  • 数据模型操作(1)

    Django操作数据库 -----数据模型MVT:model数据模型部分 1. Django 连接数据库 修改项目...

  • django01-最基本的项目实现

    Django 创建一个Django项目,url的理解 基本模板 基本模型 服务器的启动 python manage...

  • Forms#-表单基础

    在Django中创建表单 表单# forms.pyfrom django import formsclass Na...

网友评论

      本文标题:Django模型表单基本操作

      本文链接:https://www.haomeiwen.com/subject/oqquvktx.html