• Django进阶Model篇004


    一、增加

    create和save方法

    实例:

    1、增加一条作者记录

    >>> from hello.models import *
    >>> Author.objects.create(name='胡大海')

    >>> AuthorDetail.objects.create(sex=False,email='333@qq.com',address='北京XX',birthday='1988-1-2',author_id=1)

    2、增加一条出版社记录

    >>> pub=Publisher()
    >>> pub.name='电子工业出版社'
    >>> pub.address='成都华阳'
    >>> pub.city='成都'
    >>> pub.state_province='四川'
    >>> pub.country='中国'
    >>> pub.website='http://www.maiziedu.com'
    >>> pub.save()

    3、增加一条书籍记录

    >>> Book.objects.create(title='python实战',publisher=pub,publication_date='2009-5-6')
    >>> book=Book.objects.get(id=1) >>> author=Author.objects.get(id=1) >>> book.authors.add(author)

    objects:model默认管理器。create是这个管理器里面的方法。

    插入主外键关系的时候,可以用对象的方式,也可以直接以关联id的方式。

    插入多对多关系的时候要分步操作。

    save是model对象的方法。

    二、修改

    update和save方法

    实例:

    1、修改id为1的作者的名字为叶良辰,性别改为女

    >>> Author.objects.filter(id=1).update(name='叶良辰')
    >>> AuthorDetail.objects.filter(author__id=1).update(sex=True)

    2、修改名为“电子工业出版社”的出版社的网址为 http://www.google.com,城市为重庆

    Publisher.objects.filter(name='电子工业出版社').update(city='重庆',website='http://www.google.com')

    update()方法是QuerySet对象的方法

    三、查询(惰性机制)

    实例:

    1、查询所有的出版社信息

    >>> Publisher.objects.all()

    所谓惰性机制:Publisher.objects.all() 只是返回了一个QuerySet(查询结果集对象),并不会马上执行sql,而是当调用QuerySet的时候才执行。

    四、删除

    delete方法

    实例:

    1、删除id为1的书籍信息;

    >>> Book.objects.filter(id=1).delete()

    2、删除出版社城市为重庆的记录;

    >>> Publisher.objects.filter(city='重庆').delete()

    注意:django中的删除默认是级联删除。

    delete方法也是QuerySet对象的方法

    更多详见:https://docs.djangoproject.com/en/1.10/ref/models/querysets/


    ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
  • 相关阅读:
    Atlas+Keepalived系列一:安装Atlas:
    MySQL查看当前的连接信息
    MySQL replicate-ignore-db详解
    MongoDB 进程控制系列二:结束进程
    MongoDB 进程控制系列一:查看当前正在执行的进程
    MySQL 大致测试更新时间
    MySQL SELECT 执行的具体步骤
    MongoDB副本集配置系列七:MongoDB oplog详解
    MySQL 分区
    微软BI 之SSIS 系列
  • 原文地址:https://www.cnblogs.com/guanfuchang/p/6443311.html
Copyright © 2020-2023  润新知