Py学习  »  Django

Django对象不可重复。如何获取最多查看的对象

7ker213 • 4 年前 • 437 次点击  

你好,我是新手,我有错误,“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 %}
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38331
 
437 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Willem Van Onsem
Reply   •   1 楼
Willem Van Onsem    5 年前

najepszezagranie 对象是 QuerySet (或任何其他收藏) Zagrania 对象,它是 萨格拉尼亚 对象。所以 {% for zagranie in 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>