Django / ListView / Использование get_context_data для подсчета всех ключей в переменной json

Я хочу вернуть в Link.html количество ссылок, содержащихся в переменной allLinks (json). Пока что я думаю, что неправильно понимаю использование get_context_data и как передать в context['CountLink'] общее количество ссылок.

С текущим кодом, я получил :

Список исследований

terre : <QuerySet [<Post: terre>, <Post: océan>]> Links
océan : <QuerySet [<Post: terre>, <Post: océan>]> Links

Models.py

class Post(models.Model):
    title = models.CharField(max_length=255)
    url = models.URLField(max_length=255)
    allLinks = models.JSONField()

    def __str__(self):
        return self.title

views.py

class LinkView(ListView): model = Post template_name = 'link.html'

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['CountLink'] = Post.objects.all()
    return context

Link.html

  {% for post in object_list %}
  <li>
    <a href="{% url 'DetailLink' post.pk %}">{{ post.title }}</a> :
    {{CountLink}} Links
  </li>
  {% endfor %}

Вы можете использовать count() В вашем случае, я думаю, вам нужно что-то вроде этого, это вернет количество объектов модели Post

context['CountLink'] = Post.objects.all().count()

Для получения дополнительной информации проверьте это

Используйте встроенный фильтр шаблонов length:

{{ post.allLinks|length }} Links
Вернуться на верх