在直接的 Django 中,您可以通过以下方式访问随机模型实例:
randinst = MyModel.objects.order_by('?')
注意:虽然这存在性能问题,但我已经使用 sqlite 后端进行了测试,并且我确实得到了多达 100000 次尝试的非常随机的结果。由于我的应用程序不需要除此之外的显着性能,因此我不关心其他后端。
我希望完成的是:客户端发出一个请求,/api/v1/mymodel/?limit=10
然后从 MyModel 通过tastepie 获取一组随机的十行,就像您运行上面的代码片段 10 次一样。然后它发出相同的请求,并接收 10 个不同的(在概率范围内)随机行。
注意:我尝试过请求/api/v1/mymodel/?ordering='?'
及其所有合理的变体均无济于事。设置也无济于事MyModelResource.Meta.ordering = ['?']
有什么办法可以用美味派来实现我的目标吗?还有其他解决方案可以尝试吗?谢谢。