ORM之ForeignKey操作

ForeignKey操作

正向查找

对象查找(跨表)

语法:

对象.关联字段.字段

示例:

book_obj = models.Book.objects.first()  # 第一本书对象
print(book_obj.publisher)               # 得到这本书关联的出版社对象
print(book_obj.publisher.name)          # 得到出版社对象的名称

字段查找(跨表)

语法:

关联字段__字段

示例:

print(models.Book.objects.filter(id=1)[0].values_list("publisher__name"))
print(models.Book.objects.values_list("publisher__name"))

反向操作

对象查找

语法:

obj.表名_set

示例:

publisher_obj = models.Publisher.objects.first()  # 找到第一个出版社对象
books = publisher_obj.book_set.all()              # 找到第一个出版社出版的所有书
titles = books.values_list("title")               # 找到第一个出版社出版的所有书的书名

字段查找

语法:

表名__字段

示例:

titles = models.Publisher.objects.values_list("book__title")

猜你喜欢

转载自www.cnblogs.com/lxfpy/p/10889819.html
今日推荐