【发布时间】:2020-06-10 11:28:27
【问题描述】:
我有一个包含一百万多列的数据库,我想从该数据库中返回 100 个随机对象。
在网上搜索解决方案后,我看到关于 order_by['?'] 方法及其替代方案的争论很大(甚至在 Django 官方文档中!),此外,关于这个问题的大多数讨论都是从 2010 年开始的+-。
所以,我想知道从我的 Djando 模型生成随机对象的最佳做法是什么。 我在 Django 文档中看到它可能基于数据库本身,那么它是 MySQL 还是 PostgreSQL 或其他东西有关系吗?或者它是否取决于后端本身(AWS RDS 或其竞争对手)
这是我的模型:
class BasicPost(models.Model):
author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
published = models.BooleanField(default=False)
created_date = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=100, blank=False)
body = models.TextField(max_length=999)
media = models.ImageField(blank=True)
def get_absolute_url(self):
return reverse('basic_post', args=[str(self.pk)])
def __str__(self):
return self.title
谢谢!
【问题讨论】:
标签: django django-models django-rest-framework django-queryset