Как получить доступ к полю ManyToMany в Django в шаблоне Django - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть набор атрибутов в моих моделях, из которых один из атрибутов имеет тип поля ManyToMany.Я могу получить доступ ко всем атрибутам в шаблоне вместо одного поля ManyToMany.

Я попробовал следующие в моем шаблоне

{% for post in all_posts %}
{{ post.likes }}
{% endfor %} 

models.py

class Posts(models.Model):
title = models.CharField(max_length=250, blank=False)
content = models.CharField(max_length=15000,
                           help_text="Write Your thought here...")
creation_time = models.DateTimeField(auto_now_add=True, editable=False)
likes = models.ManyToManyField(User, blank=True, related_name='likes')

views.py

def home(request):
    template = loader.get_template('home.html')
    all_posts = Posts.objects.all()
     context = {
         'all_posts': all_posts,
     }
     return HttpResponse(template.render(context, request))

Когда я использую {{ post.likes }} то, что отображается на странице, является auth.User.None

1 Ответ

0 голосов
/ 25 декабря 2018

Вам придется пройтись по всем лайкам для выбранного поста

Попробуйте что-то вроде этого:

{% for post in all_posts %}
    {% for like in post.likes.all %}
        {{ like }}
    {% endfor %}
{% endfor %}
...