我正在構(gòu)建一個電子商務(wù)應(yīng)用程序,我想創(chuàng)建一個部分來按類別顯示一些特色項目。我使用三個滑塊來顯示這些項目;每個滑塊都是一個特色類別,滑塊中的每個項目都是一個特色項目。問題是我不知道如何將項目分配給正確的滑塊。例如:我想將JeansJacket分配給“衣服和配飾”并顯示它。我試過這個:{% for cat in categories %} <h1>{{ cat.cat_name }}</h1> <!--(carousel code in between)--> <div class="carousel-inner" role="listbox"> {% for item in featured_items %} {% if item.Categoría in cat.cat_name %} {{ item }} {% endif %}這是我所擁有內(nèi)容的簡化版本,沒有其余內(nèi)容。我只是不知道如何迭代特色項目并將它們顯示在相應(yīng)的類別中。編輯:這是在 models.py 中:class Categorías(models.Model): cat_name = models.CharField(max_length=30) Destacado = models.BooleanField() class Meta: ordering = ('cat_name',) verbose_name = 'Categoría' verbose_name_plural = 'Categorías' def __str__(self): return self.cat_nameclass publicaciones(models.Model): Título = models.CharField(max_length=30) Descripción = models.TextField(max_length=200) Precio = models.FloatField() Fotos = models.ImageField() Categoría = models.ForeignKey(Categorías, on_delete=models.CASCADE) Promocionado = models.BooleanField() class Meta: verbose_name = 'Publicación' verbose_name_plural = 'Publicaciones' def __str__(self): return self.Título
1 回答

慕容708150
TA貢獻(xiàn)1831條經(jīng)驗 獲得超4個贊
您可以將prefetch_related
和Prefetch
與自定義查詢一起使用來獲取每個類別的所有相關(guān)文章。
categories = Categorías.objects.prefetch_related(Prefetch(
? ? 'publicaciones_set',
? ? queryset=publicaciones.objects.filter(Promocionado=True),
? ? to_attr='featured_items'
))
現(xiàn)在您可以循環(huán)遍歷每個類別,然后循環(huán)遍歷此預(yù)取。您不需要創(chuàng)建單獨的featured_items查詢集
for category in categories:
? ? for featured_item in category.featured_items:
? ? ? ? ...
您可以將此模式應(yīng)用于您的模板
- 1 回答
- 0 關(guān)注
- 98 瀏覽
添加回答
舉報
0/150
提交
取消