用户名未正确显示

时间:2010-03-04 13:29:13

标签: django django-templates

我的一个课程中有addedBy字段。我已经为这个字段设置了一个计数如下:

user_count = Issues.objects.values('addedBy').annotate(count=Count('id'))

然后在我的模板中,我正在访问变量

{% if user_count %}
   <div class="menutitle"><strong>{% trans "Added By" %}</strong></div>
       {% for item in user_count %}
        <ul>
          <li><a href="#">{{ item.addedBy }} ({{ item.count }})</a> </li>
        </ul>
        {% endfor %}
{% endif %}

但我得到的只是用户的ID而不是用户名。

编辑:Issues模型

class Issues(models.Model):
   ISSUE_CHOICES = (
    ('Mechanical', 'Mechanical'),
    ('Dent', 'Dent'),
    ('Interior', 'Interior'),
    ('Body', 'Body'),
    ('Part', 'Part'),
    ('Other', 'Other'),
   )
   ISSUE_STATUS_CHOICES = (
    ('In Progress', 'In Progress'),
    ('Completed', 'Completed'),
    ('Pending', 'Pending'),
   )

   vehicle = models.ForeignKey(Vehicle)
   description = models.CharField('Issue Description', max_length=30,)
   type = models.CharField(max_length=10, default='Other', choices=ISSUE_CHOICES)
   status = models.CharField(max_length=12, default='Pending', 
     choices=ISSUE_STATUS_CHOICES)
   priority = models.IntegerField(default='8', editable=False)
   addedBy = models.ForeignKey(User, related_name='added_by', editable=False)
   assignedTo = models.ForeignKey(User, related_name='assigned_by', blank=True,
    null=True)
   dateTimeAdded = models.DateTimeField('Added On', default=datetime.today,
    editable=False)
   last_updated = models.DateTimeField(default=datetime.today, 
    editable=False)
   def __unicode__(self):    
      return self.description
   def save(self):
     self.last_updated = datetime.now()
     super(Issues, self).save()

1 个答案:

答案 0 :(得分:2)

尝试将user_count分配更改为:

user_count = Issues.objects.values('addedBy__username').annotate(count=Count('id'))

并在您的模板上:

<li><a href="#">{{ item.addedBy__username }} ({{ item.count }})</a> </li>

之前我遇到过类似的问题,这解决了它。