Django 模型层表格的查找

编程入门 行业动态 更新时间:2024-10-24 10:20:10

Django 模型层<a href=https://www.elefans.com/category/jswz/34/1768827.html style=表格的查找"/>

Django 模型层表格的查找

表格的创建

方式1:publish_obj=Publish.objects.get(nid=1)book_obj=Book.objects.create(title="谁偷了我的奶酪",publishDate="2012-12-12",price=100,publish=publish_obj)方式2:book_obj=Book.objects.create(title="谁偷了我的奶酪",publishDate="2012-12-12",price=100,publish_id=1

表格绑定多堆多的关系

  # 当前生成的书籍对象book_obj=Book.objects.create(title="追风筝的人",price=200,publishDate="2012-11-12",publish_id=1)# 为书籍绑定的做作者对象lowen=Author.objects.filter(name="lowen").first() # 在Author表中主键为2的纪录egon=Author.objects.filter(name="egon").first() # 在Author表中主键为1的纪录# 绑定多对多关系,即向关系表book_authors中添加纪录book_obj.authors.add(lowen,egon)    #  将某些特定的 model 对象添加到被关联对象集合中。   =======    book_obj.authors.add(*[])

查询:

一对多正向查询

# 查询主键为1的书籍的出版社所在的城市
book_obj=Book.objects.filter(pk=1).first()
# book_obj.publish 是主键为1的书籍对象关联的出版社对象
print(book_obj.publish.city)  

一对多反向查询

publish=Publish.objects.get(name="苹果出版社")
#publish.book_set.all() : 与苹果出版社关联的所有书籍对象集合
book_list=publish.book_set.all()    
for book_obj in book_list:print(book_obj.title)

一对一查询

1 egon=Author.objects.filter(name="egon").first()
2 print(egon.authorDetail.telephone)
3 
4 反向查询# 查询所有住址在北京的作者的姓名
5  
6 authorDetail_list=AuthorDetail.objects.filter(addr="beijing")
7 for obj in authorDetail_list:
8      print(obj.author.name)

多对多查询

 1 # 金瓶眉所有作者的名字以及手机号
 2  
 3 book_obj=Book.objects.filter(title="金瓶眉").first()
 4 authors=book_obj.authors.all()
 5 for author_obj in authors:
 6      print(author_obj.name,author_obj.authorDetail.telephone)
 7 
 8 
 9 反向查询
10 # 查询egon出过的所有书籍的名字
11  
12     author_obj=Author.objects.get(name="egon")
13     book_list=author_obj.book_set.all()        #与egon作者相关的所有书籍
14     for book_obj in book_list:
15         print(book_obj.title)

正向查询按字段,反向查询按表名小写,如果查询对象有多个的话表名小写_set

基于双下划线的扩表查询

1 queryResult=Book.objects
2             .filter(publish__name="苹果出版社")
3             .values_list("title","price")
4 
5     # 反向查询 按表名:book
6 
7     queryResult=Publish.objects
8               .filter(name="苹果出版社")
9               .values_list("book__title","book__price")

 

转载于:.html

更多推荐

Django 模型层表格的查找

本文发布于:2024-03-10 18:05:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1728665.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表格   模型   Django

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!