将mysql用于后端数据库。查询数据库中的所有记录,如:
ob = Shop.objects.all()
这里查询所有记录,因为需要所有n个列值。然后来问题。
希望根据特定列获取所有非重复记录。尝试使用Python SET功能。但它删除了完全相同的记录。我的记录在特定列值中具有相同的值,但在其他列中没有相同的值。
在Django ORM的帮助下,有人可以分享一些想法吗?
答案 0 :(得分:0)
如果我已正确理解您的问题,您只想检索没有重复的记录。您可以使用此查询执行此操作:
SELECT * from shops GROUP by (duplicate_field_name) having COUNT(*) = 1
如何用django做到这一点?好的GROUP by是最吸引人的Django。但是,这可以通过原始查询来实现。
ob = Shop.objects.raw('SELECT * from shops GROUP BY
(duplicate_field_name) having COUNT(*) = 1 ORDER BY some_field')
请记住将shops
和duplicate_field_name
分别替换为表名和列名的实际名称。