По вашему мнению, вы уже получаете правильные данные.Таким образом, в вашем шаблоне вы можете просто пройтись по Article
объектам и значениям их внешнего ключа (так как к ним можно получить доступ, используя related_name
)
вы используете {% for article in article_list %}
, поэтому я считаю, что у вас есть context_object_name = 'article_list'
установить в ваших представлениях.
Я предполагаю дополнительные поля для translations
модели, к которой вы, вероятно, хотите получить доступ.Если ваша модель выглядит примерно так:
class ArticleTranslation(models.Model):
LANGUAGE_CHOICES = (
(settings.ENGLISH, _("english")),
(settings.FRENCH, _("french")),
(settings.GERMAN, _("german")),
(settings.ITALIAN, _("italian")),
(settings.PORTUGUESE, _("portuguese")),
(settings.SPANISH, _("spanish")),
)
article = models.ForeignKey(
'Article',
on_delete=models.CASCADE,
related_name='translations',
)
language = models.CharField(max_length=10, choices=LANGUAGE_CHOICES)
Тогда в вашем шаблоне вы можете сделать:
{% extends "base.html" %}
{% block content %}
{% for article in article_list %}
<div class="container">
{% for object in article.translations.all %}
<h2>Chosend language - {{ object.language }}</h2>
{% endfor %}
</div>
{% endfor %}
{% endblock content %}
Объяснение: article.translations.all
даст вам все переводы за один article
,используя это, вы можете получить значение поля