django启动之后,只要访问页面总是有这样的警告提示:
UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list
翻译过来:
无序对象列表警告:分页可能会产生与无序对象列表不一致的结果
产生上面警告的原因是:使用了djangorestframe,展示结果为排序造成的
只要我们在视图或者模型上加上排序就可以消除警告
解决方法:
在view下面加入排序
class CompetenceViewSet(viewsets.ModelViewSet):
queryset = Competence.objects.all().order_by('number')
serializer_class = CompetenceSerializer
在模型上加入排序
class Competence(models.Model):
name = models.CharField(max_length=100,verbose_name='模型',unique=True)
number = models.CharField(max_length=100,verbose_name='编号',unique=True)
create_date = models.DateTimeField(default=timezone.now, verbose_name='创建时间')
update_date = AutoDateTimeField(default=timezone.now,verbose_name='更新时间')
class Meta:
ordering=['number']
重启项目,并刷新页面,警告消除