У меня есть база данных с миллионом + столбцов, и я хочу вернуть 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
Спасибо!