如何访问 Django ManyToMany 字段的数据?

我想在我的社交媒体网站的主页中创建一个喜欢的功能。我正在使用 ManyToManyField 在特定帖子上存储喜欢,如 models.py 所示。在我的主页中,我有帖子列表,我想检查当前登录用户是否已经喜欢的帖子的天气。


在我的 views.py 中我使用


post = Posts.objects.filter('likes')

if post.likes.filter(id=request.user.id).exists():

模型.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...")

likes = models.ManyToManyField(User, blank=True)

视图.py


def home(request):

post = Posts.objects.filter('likes')

print('Thats just Test', post)

if post.likes.filter(id=request.user.id).exists():

    print("Already Exixts")

    is_liked = False

context = {

    'all_posts': all_posts,

    'is_liked': is_liked,

}

return HttpResponse(template.render(context, request))

hometemplte.html:(只喜欢按钮)


<form action="{% url 'like_post' %}" method="POST">

            {% csrf_token %}

            {% if is_liked %}

              <button type="submit" name="like" value="{{ post.id }}" class="btn upvote liked">Liked</button>

            {% else %}

              <button type="submit" name="like" value="{{ post.id }}" class="btn upvote">Upvote</button>

            {% endif %}

          </form>    


潇潇雨雨
浏览 171回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python