【发布时间】:2013-04-05 17:37:51
【问题描述】:
我正在努力寻找解决问题的方法。
models.py
class Article(models.Model):
title = models.CharField(max_length=100)
slug = models.SlugField()
description = models.TextField()
def archive_quality(self):
return self.archive_set.order_by('-quality').distinct().values_list('quality', flat=True)
class Archive(models.Model):
CHOICES_QUALITY = (
('1', 'HD YB'),
('2', 'HD BJ'),
('3', 'HD POQD'),
('4', 'HD ANBC'),
)
article = models.ForeignKey(Article)
quality = models.CharField(max_length=100, choices=CHOICES_QUALITY)
arhives.html
{% for article in articles %}
{{ article }}
{% for quality in article.archive_quality %}
{{ quality.get_quality_display }}#This is not working
{% endfor %}
{% endfor %}
更新 函数archive_quality 很重要,因为它可以防止模板对象重复出现。
Example:
article:
My article one
Archive:
quality: 1111222333 >> without the function
quality: 123 >> with function
【问题讨论】:
-
你能完成你的models.py吗?您的 forloop 错过了模型中的变量
-
@catherine 当然,只需添加完整模型。
-
所有的选择真的都是
'1'吗? -
@Koterpillar 抱歉,现在修复。