В следующей ситуации:Использование функции pre_fetch_related Django
В библиотеке книга может быть размещена всего в одном рукаве. В течение курса книгу можно было перенести из рукава в рукав.
И модели
class Sleeve(models.Model):
sleeve_name = models.CharField(max_length=60)
sleeve_number = models.DecimalField()
class Book(models.Model):
book_title = models.CharField(max_length=120)
sits_in_sleeve = models.ForeignKey(Sleeve, null=False)
Теперь я хотел бы создать Django QuerySet запросить все рукава с числом от 1 до 10, а также запросить все книги названия, принадлежащие к этому. Как мне это сделать с prefetch_related
?
Другими словами, я могу сделать что-то вроде:
sleeves = Sleeve.objects.filter(sleeve_number__lte=10,sleeve_number__gte=1)
for s in sleeves:
b = Book.objects.get(sits_in_sleeve=s)
s.book = b
Но есть более элегантный способ сделать это?
Вы на самом деле нужны рукава вообще или вас интересуют только книги? – Sayse
** и запросить все названия книг, принадлежащие этому ** Насколько я понимаю, вам нужны все книги между рукавом номер 1 и 10. Правильно ..? –