django 的orm的一些操作

本文探讨了Django ORM在数据库操作中的应用,包括模型定义、数据查询、更新与删除等核心功能,揭示了如何高效地利用ORM进行数据库交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

django 的orm的一些操作

def dbtest(req):
    ##插入记录
    p1 = Publisher(name='Apress', address='2855 Telegraph Avenue',
            city='Berkeley', state_province='CA', country='U.S.A.',
            website='http://www.apress.com/')
    p1.save() ##保存插入记录(没有调用save时,数据将不会被保存)
    print p1.id
    p1.name = 'Apress Publishing'
    p1.save() ##保存更新记录

    p2 = Publisher.objects.create(name="O'Reilly",
            address='10 Fawcett St.', city='Cambridge',
            state_province='MA', country='U.S.A.',
            website='http://www.oreilly.com/')
    ##查询记录与过滤
    publisher_list = Publisher.objects.all()
    print publisher_list
    publisher_list = Publisher.objects.filter(name='Apress')
    print publisher_list
    publisher_list = Publisher.objects.filter(country="U.S.A.", state_province="CA")
    Publisher.objects.filter(name__contains="press")
    ##icontains(大小写无关的LIKE),startswith和endswith(以什么开始和结尾), 还有range(SQLBETWEEN查询)
    publisher = Publisher.objects.get(name="Apress")  ##如果结果是多个对象,会导致抛出异常,没有返回结果也会抛出异常,通常用try处理
    Publisher.objects.order_by("name")  ##排序
    Publisher.objects.filter(country="U.S.A.").order_by("-name")#以 name字段降序排列
    Publisher.objects.order_by('name')[0]#限制数据,等同于limit,结果将是排序后的第一条数据

    ##更新
    p = Publisher.objects.get(name='Apress')
    p.name = 'Apress Publishing'
    p.save()#保存数据
    Publisher.objects.filter(id=52).update(name='Apress Publishing')#将id=52的这条数据的name改为Apress Publishing
    Publisher.objects.all().update(country='USA')

    ##删除
    p = Publisher.objects.get(name="O'Reilly")
    p.delete()#删除数据
    Publisher.objects.filter(country='USA').delete()#删除数据
    Publisher.objects.all().delete()#删除所有数据


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值