Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在函数视图中为每个帖子传递布尔值? 我的视图.py Mymodel.py_Python_Django - Fatal编程技术网

Python 如何在函数视图中为每个帖子传递布尔值? 我的视图.py Mymodel.py

Python 如何在函数视图中为每个帖子传递布尔值? 我的视图.py Mymodel.py,python,django,Python,Django,在每一篇文章中,我想检查用户是否喜欢这篇文章,以及他是否传递了一个绑定到该文章的布尔变量,以显示他喜欢这篇文章。我不知道如何添加绑定到每个帖子的变量。我读了一些,发现我可能需要一个适合我喜欢的第二个模型。这是更好的选择吗 我可以在shell中运行一篇文章,但我希望能够在所有文章中调用它 In [1]: from main.models import Post In [2]: from django.contrib.auth.models import User In [3]: user =

在每一篇文章中,我想检查用户是否喜欢这篇文章,以及他是否传递了一个绑定到该文章的布尔变量,以显示他喜欢这篇文章。我不知道如何添加绑定到每个帖子的变量。我读了一些,发现我可能需要一个适合我喜欢的第二个模型。这是更好的选择吗

我可以在shell中运行一篇文章,但我希望能够在所有文章中调用它

In [1]: from main.models import Post

In [2]: from django.contrib.auth.models import User

In [3]: user = User.objects.first()

In [4]: post = Post.objects.first()

In [5]: post.likes.all()
Out[5]: <QuerySet [<User: user1>, <User: user2>, <User: user3>]>

In [6]: post.likes.filter(username = user).exists()
Out[6]: True
[1]中的
:从main.models导入Post
在[2]中:从django.contrib.auth.models导入用户
在[3]中:user=user.objects.first()
在[4]中:post=post.objects.first()
[5]:post.likes.all()
出[5]:
[6]中:post.likes.filter(username=user).exists()
Out[6]:对

请用问题更新您的问题。您发布的代码有效吗?如果您想记录喜欢某个特定帖子的用户,那么是的,一个表(例如,带有a)帖子和b)用户的外键)将是goI的方式。我只需要检查登录用户是否喜欢该帖子。为什么不
liked_post=[post.likes.filter(username=user).exists()用于post-in-post.objects.all()]
-但是根据文档,如果您需要在模型上执行“表级”操作,您应该在模型中添加一个管理器。如果我使用for循环,我将如何调用它以在模板中呈现?
class Post(models.Model):
    likes = models.ManyToManyField(User, related_name='likes', blank=True, default=None)
In [1]: from main.models import Post

In [2]: from django.contrib.auth.models import User

In [3]: user = User.objects.first()

In [4]: post = Post.objects.first()

In [5]: post.likes.all()
Out[5]: <QuerySet [<User: user1>, <User: user2>, <User: user3>]>

In [6]: post.likes.filter(username = user).exists()
Out[6]: True