0

course 表的数据:

weeks days title pk
第10周 1 java程序设计 1
第2周 2 java程序设计 5
第1周 5 数据库 25
.....

取 course 的每一条数据的 title,再去掉重复值,显示在页面:

cous=Course.objects.values('title').distinct().order_by('title')

这样写可以去重,但是获取不到每一条数据对应的 pk,怎么办???

2个回答

0

使用value后,返回的每条记录会变成字典,字典的key由value中的值决定。

对于这个问题,请尝试在value中增加传参id?应该可以解决你的问题。

0

cous = Course.objects.values('title','id').distinct('title').order_by('title')
1

mysql貌似不支持distinct(*fields)这样的语法···
如果这样写的话:cous = Course.objects.values('title','id').distinct().order_by('title')
又是以title和id的组合来去重的,不满足你的需求(如果我没理解错的话)。

笨一点的方法,暂时先遍历自己去重。再找找有没有更好的办法。

self · 11月15日

展开评论

撰写答案