django - 如何比较 Django 查询集
问题描述
我整个早上都在苦苦挣扎,试图弄清楚如何比较两个不同的查询集。我的模型中有两个manytomanyfields,我试图弄清楚它们是否相同。
我通过查看这个特定问题来研究这个问题:如何测试 Django QuerySets 是否相等?
我正在使用基于类的视图...并且我有一个带有两个多字段的模型...
我的模特...
class Author(models.Model):
title = models.ManyToManyField(User,blank=True,related_name='title')
title1 = models.ManyToManyField(User,blank=True,related_name='title1)
我的观点...
class AuthorDetailView(DetailView):
model = Author
def get_context_data(self, **kwargs):
context = super(AuthorDetailView, self).get_context_data(**kwargs)
title = list(Author.objects.filter(title))
title1 = list(Author.objects.filter(title1))
test_instance = Author.objects.all()
proxy4 = self.assertQuerySetEqual(Author.objects.all(), map(repr, [test_instance]))
我正在尝试比较字段标题和标题 1。但是,当尝试运行上面的代码时,我不断得到一个“视图”对象没有属性“assertQuerysetEqual”。我什至无法让这个功能工作。我运行 Django 1.11 和 Postgresql。也许这个功能不适用于 Postgresql?感谢任何帮助我走上正轨的帮助。一直在玩这个并研究了一上午,没有运气。提前致谢。
更新...我也一直在尝试比较视图中的 title_set.all 和 title1_set.all 的各种版本....这是间歇性的...但是两者总是返回它们是相等的。
解决方案
推荐阅读
- jquery - CSS Bootstrap 4导航到右侧
- javascript - LG webOS 3.0 TV App 中的媒体 Luna 服务
- mysql - MYsql使用命令行将多个条目插入一列
- windows - 如何使用批处理获取前景窗口?
- amazon-web-services - 什么是 Amazon EC2 捆绑任务
- javascript - 如何将html表格的文本复制到剪贴板?
- sql - SQL 计数每个用户的引用
- java - 如何使用正则表达式仅删除单词之间的空格而不是数字或特殊字符?
- javascript - Three.js 通过 id 检查光线与对象的交点
- apache - Apache - 大型 zip 文件传输损坏