簡體   English   中英

For if Loop ManyToMany Field Django

[英]For if Loop ManyToMany Field Django

如何在 Django 模板中查詢 manytomanyfield? 例如,這個 if 語句不起作用,但這顯示了我想做什么:

Model:
class Product(models.Model):

    Category = models.ManyToManyField(Category)


Template:

{% for p in Product %}
      {% if p.Category_id == 6 %}
             
         {{p.id}}

       {% endif %}
{% endfor %}

我認為最好在views.py中過濾你的查詢集

products = Product.objects.filter(Category__id=6)

然后循環遍歷模板中的查詢集

{% for p in products %}
         {{p.id}}
{% endfor %}

我不知道實際用例。 您還沒有發布view 假設 django 模板products是查詢集。 例如products= Product.objects.all() 這就是您將如何檢測 django 模板中所有產品的id=6Category實例。

{% for p in products %}
    {% for category in p.Category.all %}
        {% if category.id == 6 %}
             {{p.id}}
        {% endif %}
    {% endfor %}
{% endfor %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM