django - 如何在 Django ManyToManyField 中传递查询集。错误:int() 参数必须是字符串、类似字节的对象或数字,而不是 'QuerySet'
问题描述
简介:假设我有一个包含用户和关注者的 Feed 模型。当用户写帖子时。他所有的追随者都会在他们的主页上看到他们关注的人写了一个帖子。
class Feed(models.Model):
being_followed = models.ForeignKey(User, blank=True, null=True, related_name="feeds_for_followers")
follower = models.ManyToManyField(User, blank=True, related_name="homepage_feeds")
being_followed_post = models.ForeignKey(Post, blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
我的问题:现在,如果您看到下面的 post_create 视图。用户是 request.user 帖子就是帖子。但是我正在使用代码添加关注者
users_followers = post_user.followers.all()
for follower in users_followers:
feed.follower.add(follower)
这是非常低效的。有没有办法可以将整个查询集 users_followers 添加到关注者 ManytoManyField
我试过了
followers = user.followers.all()
feed.follower.add(followers)
我收到以下错误
int() 参数必须是字符串、类似字节的对象或数字,而不是 'QuerySet'
解决方案
你可以这样做:
users_followers = post_user.followers.all()
feed.follower.add(*users_followers)
推荐阅读
- mysql - 在 cakephp 3.x 中使用一张表存储不同的数据类型/属性
- rust - 如何在 Rust 中获得一个指向最大值元素的迭代器?
- three.js - 为人体模特穿衣服的最佳方式
- javascript - 如何初始化 DropZone.js 以使其正常工作?
- windows - 创建一个批处理 (.bat) 文件以移动到特定目录并输出 (echo) 列出的所有文件?
- c# - xamarin ios Ipad 设备的重音被问号替换
- python - KeyError 为什么会发生这种情况我所有的键都存在(python)?
- ios - 可通过继承编码
- sql - 如果它只返回returntype,那么plsql函数究竟返回了什么
- javascript - 发送二维文件数组的问题