Django重新组合用户ForeignKey

时间:2012-07-26 01:49:34

标签: python django

我有以下型号:

class JobView(models.Model):
    job = models.ForeignKey(Job)
    user = models.ForeignKey('auth.User')
    created = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

    class Meta:
        ordering = ['-created']

在一个视图中,我正在抓住工作信息:

model = Job.objects.get(pk=id)

在模板中,我正在执行以下操作:

        {% regroup model.jobview_set.all by user as user_list %}
        {% for u in user_list %}
        {{ u.grouper.email }}
        {% endfor %}

我遇到的问题是,用户并没有真正进行分组,或者更多的是由用户随机分组。有时候它会向用户显示两次,有时是3次......我有什么东西吗?我不见了?

干杯!

1 个答案:

答案 0 :(得分:2)

这是因为{% regroup %}没有对其输入进行排序。您尝试按用户分组,但model.jobview_set.all不是由用户订购的,因此您可以根据用户的订购方式获得随机组。

最简单的解决方案是排序model.jobview_set.all,然后再将其传递给模板。

直接来自django doc's:

  

请注意{%regroup%}不会对其输入进行排序!

https://docs.djangoproject.com/en/1.4/ref/templates/builtins/#regroup