相关疑难解决方法(0)

在`order_by`调用之后,Django Paginate中的重复元素

我正在使用Django 1.7.7.

我想知道是否有人经历过这个.这是我的查询:

events = Event.objects.filter(
    Q(date__gt=my_date) | Q(date__isnull=True)
).filter(type__in=[...]).order_by('date')
Run Code Online (Sandbox Code Playgroud)

当我尝试然后分页

p = Paginator(events, 10)
p.count  # Gives 91

event_ids = []
for i in xrange(1, p.count / 10 + 2):
    event_ids += [i.id for i in p.page(i)]

print len(event_ids)  # Still 91
print len(set(event_ids))  # 75
Run Code Online (Sandbox Code Playgroud)

我注意到,如果我删除了.order_by,我没有任何重复.然后我尝试.order_byEvent.objects.all().order_by('date'),没有重复.

最后,我尝试了这个:

events = Event.objects.filter(
    Q(date__gt=my_date) | Q(date__isnull=True)
).order_by('date')

p = Paginator(events, 10)
events.count()  # Gives 131
p.count  # Gives 131

event_ids = []
for i in …
Run Code Online (Sandbox Code Playgroud)

django pagination django-rest-framework

11
推荐指数
2
解决办法
1688
查看次数

Django分页正在重复结果

我在Django中有这个奇怪的分页错误:使用object_list作为视图的返回,但是向它传递一个"paginate_by"参数,它重复了一些结果; 否则,如果我删除参数或设置为"paginate_by = None",则结果是正确的.

如果使用分页,结果数量将保持总计,因此,由于重复结果,最后的结果将不在列表中,因此它们不会出现在模板中.

关于可能发生什么的任何想法?

谢谢!

django pagination django-queryset

6
推荐指数
2
解决办法
1314
查看次数