Ich habe im Internet nachgeschlagen, aber es ist durchaus möglich, dass ich nicht genau wusste, nach welchen Keywords gesucht werden soll. Ohne weiteres die Frage.
Ich habe in meiner models.py ungefähr folgende Modelle
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
In meiner Anfrage kann ich leicht folgen
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
Ich möchte die neuesten Bücher der Autoren, d. H. author_book_count == book_serial_number
Welchen Filter sollte ich also in meinem Queryset verwenden?
Antworten:
0 für die Antwort № 1Ich habe hier und da gestolpert und verschiedene Kombinationen von Suchbegriffen ausprobiert F das löst das Problem, das ich schön lösen möchte. Der Ansatz wäre ungefähr wie folgt.
return_data = queryset.filter(book__book_serial_number = F("author_book_count")).values("book__book_title")