1

ORM查询

https://www.cnblogs.com/wupeiqi/articles/5246483.html   武佩奇博客.

 

 

 

#一对多操作.
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’。

 

 

 

 

 

 

 

 

posted @ 2018-11-24 18:03  萌哥-爱学习  阅读(210)  评论(0编辑  收藏  举报