码迷,mamicode.com
首页 > 其他好文 > 详细

ORM查询

时间:2018-11-24 18:52:56      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:关系   info   复数   tom   指定   bsh   get   delete   定义   

 

#一对多操作.
publisher =models.foreignkey(to ="Pulisher")

# 在数据库中没有publisher这个字段
# 数据库中实际生成一个publisher_id字段

#多对多操作.
books =models.manytomany(to = "Books")

# 在数据库中只能通过第三张表建立多对多的关系

# 1.单表增删改查

# 增加:
models.Pulibsher.objects.create(name ="沙河出版社")
models.Publisher.objects.get(id =1)
# 查
models.Publisher.object.get(name ="沙河出版社")
# 删
models.Publisher.object.get(id=1).delete()

# 改
obj =models.Publisher.object.get(id=1)
obj.name ="沙河出版社"
obj.save

# 2.外键增删改查操作

book_obj = models.Book.objects.get(id =1)
book_obj.publisher  #和这本书关联的出版社对象.

book_obj.publisher.id #和我本书关联的出版社的ID值
book_obj.publisher.name #和我本书关联的出版社的name值

book_obj.publisher_id#和本书关联的出版社的ID值.


# 3.多对多操作
# 1. 查询id为1的作者都写过的书.
auth_obj =models.Author.objects.get(id=1)
auth_obj.books.all() #-->  和这个作者关联的所有书籍对象

# 2想给作者绑定多本书
auth_obj =models.Author.objects.get(id=1)
auth_obj.books.set([1,2,3]) #把id是1,2,3的书和我这个作者关联上。

#

 

 

  

技术分享图片

 

 

verbose_name

verbose_name的意思很简单,就是给你的模型类起一个更可读的名字一般定义为中文,我们:
verbose_name = "学校"

verbose_name_plural

这个选项是指定,模型的复数形式是什么,比如:
verbose_name_plural = "学校"
如果不指定Django会自动在模型名称后加一个’s’。

ORM查询

标签:关系   info   复数   tom   指定   bsh   get   delete   定义   

原文地址:https://www.cnblogs.com/mengbin0546/p/10012902.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!