ORM 操作复习苑浩

  

 

一对多查询

 正向查询

from django.shortcuts import render,HttpResponse
from app01 import models
# Create your views here.

def query(request):
    # ###############基于对象查询(子查询)##############
    # 一对多查询 book-->publish
    #正向查询:
    # 查询python这本书的出版社的email邮箱.
    python_obj = models.Book.objects.filter(title ='python').first()
    print(python_obj.publish.email)
    return HttpResponse(' OK')

  

  

# ###############基于对象查询(子查询)##############
# 正向查询按字段查询
# 一对多查询 book----------------------->publish
# <----------------------
#反向查询 book_set.all()





反向查询





反向查询#查询五道口出版社的书籍名称 pub_obj =models.Publish.objects.filter(name ='五道口出版社').last()
 for obj  in pub_obj.book_set.all():
print(obj.title)

return HttpResponse(' OK')



多对多 查询



# 按字段查询 正向查询(author.all())
# 多对多 book----------------------> author
# <----------------------
# book_set.all()


正向多对多查询
#查询python作者的年龄
python_obj =models.Book.objects.filter(title ='python').first()
    print(python_obj)
    for author in  python_obj.authors.all():
        print(author.name,author.age)



    return HttpResponse('ok')

输出结果

猜你喜欢

转载自www.cnblogs.com/mengbin0546/p/9125358.html