/ / select_related models Feldvergleich - Django, Datenbank, Django-Modelle, Django-Rest-Framework, Django-Queryset

select_related models feldvergleich - django, datenbank, django-modelle, django-rest-framework, django-queryset

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_numberWelchen Filter sollte ich also in meinem Queryset verwenden?

Antworten:

0 für die Antwort № 1

Ich 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")