python - 如何将模型实例添加到 Django 查询集中?

标签 python django

看起来 django 查询集的行为有点像 python 列表。

但据我所知,它不支持列表的 .append() 方法。

我想做的是这样的:

from my_django_app.models import MyModel

queryset = MyModel.objects.none()
queryset.append(MyModel.objects.first())      ## no list's .append() method!

有什么方法可以将模型实例添加到现有查询集中吗?

最佳答案

您还可以使用 | 运算符来创建联合:

queryset = MyModel.objects.none()
instance = MyModel.objects.first()
queryset |= MyModel.objects.filter(pk=instance.pk)

但请注意,这将根据您以这种方式附加的项目数量生成不同的查询,从而导致编译查询的缓存效率低下。

关于python - 如何将模型实例添加到 Django 查询集中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29587382/

相关文章:

python - 在 Python 中将多个值传递到生成器

python - 更改多列值

Django 在属性字段上进行注释

python - 如何在Ubuntu启动时自动启动该服务?

django - 搜索引擎并将静态站点迁移到 Web 应用程序

python - 如何确定页面是否被重定向

python - 将数组元素的所有组合相乘

python - 如何在数据框中搜索列表中的项目并对它们进行计数

python - Tastypie 属性和相关名称,空属性错误

django - 如何将自定义 View 添加到 django 管理界面?