[TimLinux] django model关于QuerySet

1. 获取执行过的sql命令

from django.db import connections
connections['default'].queries

2. 获取QuerySet将执行的sql语句

qs = Entries.object.all()
print(qs.query)

3. 单一模型:增删改查

模型示例:

from django.db import models


class Student(models.Model):
    name = models.CharField(max_length=30)
    sex = models.CharField(max_length=30)

3.1. 增加数据

#构造函数方式增加数据
s1 = Student(name='Tim', sex='Male')
s1.save()  #只有这步才执行了insert操作。

#管理对象方式增加数据
s1 = Student.objects.create()  #已经执行了一次insert操作了。
s1.name = "Tim"
s1.sex = "Male"
s1.save()  #这步是update操作

3.2. 删除数据

# query set方式删除:这个方式,只执行了一次sql
qs = Student.objects.filter(pk=1)  # 这个返回的是QuerySet
qs.delete()

# 对象方式删除:这个方式,执行了两次sql
s1 = Student.objects.get(pk=1)  # 这个返回的是RA对象
s1.delete()

猜你喜欢

转载自www.cnblogs.com/timlinux/p/9230005.html
今日推荐