如何显示与其他模型相关的模型的值?

时间:2015-02-21 17:01:31

标签: python django django-templates django-views

我想展示与语言英语相关的所有演讲室('促销')('jezyk'='EN')

我不能使用这样的解决方案:

'sala': Sala.objects.filter(jezyk='3')

因为我在选项中定义了用户可以定义的语言。在我的项目中,英语一直是“EN”键 enter image description here

我尝试以这种方式做,但它不起作用

models.py

from django.db import models
from jezyk.models import Jezyk

class Article(models.Model):
    title = models.CharField(max_length=150, verbose_name="Tytul wiadomosci")
    content = models.TextField(verbose_name="Zawartosc")
    published = models.DateTimeField(verbose_name="Data Publikacji")
    jezyk = models.ForeignKey('jezyk.Jezyk', null=True, related_name='jezyk_articles')

views.py

def articles(request):
    return render_to_response('articles.html',{'articles' : Article.objects.all(),'godzina': Godzina.objects.all(),'sala': Sala.objects.all() })

articles.html

{% if article.jezyk = sala.jezyk %}
    {% for sala in sala %}
        <div>{{ sala }}</div>
    {%endfor %}
{% endif %}

1 个答案:

答案 0 :(得分:1)

只需使用双下划线表示法来获取相关模型的正确字段:

'sala': Sala.objects.filter(jezyk__jezyk='EN')

在代码中混合使用2种语言(波兰语和英语)并不是很好看,尽量避免这种情况。