【发布时间】:2011-05-24 17:55:45
【问题描述】:
我的模特:
...
class Bild(models.Model):
album = models.ForeignKey(Album)
slot = models.IntegerField()
bild = models.ImageField(upload_to='bilder', null=True)
untertitel = models.CharField(max_length=200, null=True)
def __unicode__(self):
我的看法:
def album_bild(request, album_id, bild_id):
album_id = int(album_id)
bilder = Bild.objects.filter(album__id = album_id).order_by('slot')
....
当我遍历模板中的“bilder”时,我可以看到 filter() 确实有效,但对象仍按 pk 而不是“slot”排序。
我对 filter() 和 order_by() 的使用有问题吗?
编辑:我想我应该补充一点,在 shell 中一切正常。所以也许错误在模板中......?
{% for bild in bilder %}
<li
{% ifequal bild.slot bild_id %}
class="active"
{% endifequal %}
onclick="window.location.href='/portfolio/{{ album_id }}/{{ bild.slot }}'"><div>{{ bild.slot }}</div></li>
{% endfor %}
{% for i in empties %}
<li class="empty"></li>
{% endfor %}
【问题讨论】:
-
你不会在稍后的某个地方做类似 bilder.order_by(...) 的事情,是吗?
-
在将图片发送到模板之前,您是否对图片进行了处理?
-
我现在在一个项目中执行相同类型的过滤器和 order_by,语法与我的相同,但我的工作......我将在 shell 中玩有点并试图解决这个问题
-
我稍后在涉及 bilder 的视图中唯一做的是:empties = range(18 - len(bilder))
标签: django