Django里filter用法和Foo_set用法
2017-09-03 本文已影响0人
findDream1122
- 一对多,从“多”的这一方,也就是ForeignKey所在的Model,向“一”的这一方查,比较容易,只需要指定属性名称就可以了,比如:
>>> e = Entry.objects.get(id=2)
>>> e.blog
- 如果从“一”的这一方向“多”的那一方查,那么“多”的一方是“一”的一方的一个集合,Django会自动为“一”的这一方创建一个叫做"Foo_set"的Manager,它就是“多”的这一方的集合,可以直接通过这个Manager对关联的Model进行增删查改操作。比如:
>>> b = Blog.objects.get(id=1)
>>> b.entry_set.all() # Returns all Entry objects related to Blog.
# b.entry_set is a Manager that returns QuerySets.
>>> b.entry_set.filter(headline__contains='Lennon')
>>> b.entry_set.count()
[相关链接](http://blog.csdn.net/hackerain/article/details/39838559)