我已经在互联网上查了一下,但我很可能不知道要找的确切关键字。没有任何进一步的麻烦,问题。
我的模型大致如下所示:models.py
class Author(models.Model):
author_book_count = models.IntegerField()
author_name = models.CharField(max_length = 64)
class Book(models.Model):
book_author = models.ForeignKey('Author')
book_title = models.CharField(max_length = 128)
book_serial_number = models.IntegerField()
# Field above keep track of order in which book was written
# value of 2 mean that it was second book author wrote and so on
在我的查询中,我可以轻松地执行以下操作
queryset = Author.objects.filter(author_name__icontains = "john").select_related('book')
return_data = queryset.filter(book__book_count = x).values('book__book_title')
# Gives me xth book of all authors in the queryset
我想了解作者的最新书籍,即author_book_count == book_serial_number
,所以我应该在查询集中使用什么过滤器。
答案 0 :(得分:0)
在这里和那里磕磕绊绊地尝试搜索术语的各种组合,我学会了F,它解决了我打算很好地解决的问题。方法大致如下。
return_data = queryset.filter(book__book_serial_number = F('author_book_count')).values('book__book_title')