Django模型过滤(查询)

时间:2018-03-22 15:10:39

标签: django templates filter model

我在模型过滤方面苦苦挣扎,我做错了什么?这是我的代码:

models.py

class Images(models.Model):
    TAK_NIE = (
        ('y', 'Tak'),
        ('n', 'Nie')
    )
    nazwa_polska = models.ForeignKey(Roslina, related_name='images', on_delete=models.CASCADE)
    image = models.ImageField(max_length=255, upload_to=generate_filename)
    zdjecie_glowne = models.CharField(max_length=1,choices=TAK_NIE,default='n')
    def czyGlowne(self):
        return self.filter(zdjecie_glowne='y')
    def __str__(self):
        return self.nazwa_polska.nazwa_polska

html无效:

{% for zdjecie in ros.images.czyGlowne %}
   {{ zdjecie.image }}
   <img src="{% static '' %}{{ zdjecie.image|cut:"static/"}}" alt="brak 
   zdjecia" class="img-thumbnail zdjecia">
{% endfor %}

在同一页面上运行HTML代码:

{% for zdjecie in ros.images.all %}
    <div class="col-lg-4">
       <img src="{% static '' %}{{ zdjecie.image|cut:"static/"}}" alt="brak 
       zdjecia" class="img-thumbnail zdjecia">
    </div>
{% endfor %}

1 个答案:

答案 0 :(得分:0)

您的视图应该是过滤或创建过滤的查询集。

你也可以像这样过滤:

{% for zdjecie in ros.images.all %}
(% if zdjecie.zdjecie_glowne == 'y' %}
   {{ zdjecie.image }}
   <img src="{% static '' %}{{ zdjecie.image|cut:"static/"}}" alt="brak 
   zdjecia" class="img-thumbnail zdjecia">
{% endif %}
{% endfor %}