模型.py
class Category(models.Model):
image = models.ImageField(upload_to='book_images/category_images')
title = models.CharField('Назва', max_length=128)
slug = models.CharField(blank=True, max_length=128)
class Book(models.Model):
image = models.ImageField('Зображення', blank=False, upload_to='book_images')
title = models.CharField('Назва', max_length=128)
price = models.DecimalField('Ц?на', max_digits=6, decimal_places=2)
author = models.ForeignKey(Author, on_delete=CASCADE, verbose_name='Автор')
edition = models.ForeignKey(Edition, on_delete=CASCADE, verbose_name='Видавництво')
category = models.ForeignKey(Category, on_delete=CASCADE, verbose_name='Категор?я')
我想按書籍數量顯示前 3 個版本。我怎樣才能做到這一點?
uj5u.com熱心網友回復:
您可以像這樣使用與 annotate 的反向關系:
from django.db.models import Count
top_3 = Edition.objects.annotate(nb_books=Count('book')).order_by('nb_books')[:2]
更多資訊在這里
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/346382.html
