嗨,我是新手,并且收到错误消息“'Zagrania'对象不可迭代”。我想要获得最多查看的对象并以不同的方式显示它(wyswietlenia-对象视图)
views.py
def zagrania(request):
zagrania = Zagrania.objects.all().order_by('-data')
najepszezagranie = Zagrania.objects.all().order_by('-wyswietlenia').first()
return render(request, 'zagrania/zagrania.html', { 'zagrania':zagrania, 'najepszezagranie':najepszezagranie})
models.py
class Zagrania(models.Model):
tytul = models.CharField(max_length=70)
data = models.DateTimeField(auto_now_add=True)
autor = models.ForeignKey(User,on_delete=models.CASCADE,default=None)
opis = models.TextField(max_length=276, default='')
wyswietlenia = models.PositiveIntegerField(default=0)
filmik = models.FileField(upload_to="static/filmiki")
#votes= models.IntegerField(default=0)
template
{% for zagranie in najepszezagranie %}
<a href="{% url 'zagrania_detail' zagranie.id%}">
<video>
<source src="{{ zagranie.filmik.url }}" type="video/mp4"></source>
</video>
</a>
<a href="{% url 'zagrania_detail' zagranie.id%}">{{ zagranie.tytul }}</a>
{% endfor %}
答案 0 :(得分:0)
najepszezagranie
对象不是QuerySet
对象的Zagrania
(或任何其他集合),而是Zagrania
对象。因此{% for zagranie in najepszezagranie %}
毫无意义。
因此,您可以将najepszezagranie
用作对象(当然它是一个对象),并删除{% for ... %}
循环:
<!-- template.html -->
<a href="{% url 'zagrania_detail' najepszezagranie.id %}"><video>
<source src="{{ najepszezagranie.filmik.url }}" type="video/mp4"></source>
</video></a>
<a href="{% url 'zagrania_detail' najepszezagranie.id %}">{{ najepszezagranie.tytul }}</a>