Мне любопытно, есть ли способ сделать запрос в Django, который не является «SELECT * FROM...
» снизу. Вместо этого я пытаюсь сделать «SELECT DISTINCT columnName FROM ...
».Выберите DISTINCT отдельных столбцов в django?
В частности у меня есть модель, которая выглядит следующим образом:
class ProductOrder(models.Model):
Product = models.CharField(max_length=20, promary_key=True)
Category = models.CharField(max_length=30)
Rank = models.IntegerField()
где Rank
это звание в пределах Category
. Я хотел бы иметь возможность перебирать все категории, выполняющие некоторые операции над каждым рангом в этой категории.
Сначала я хотел бы получить список всех категорий в системе, а затем запросить все продукты этой категории и повторить до тех пор, пока не будет обработана каждая категория.
Я бы предпочел избежать необработанного SQL, но если мне нужно идти туда, все будет хорошо. Хотя я никогда раньше не кодировал необработанный SQL в Django/Python.
Метод, описанный ниже, теперь доступен в django 1.4 и хорош, если вам нужен экземпляр ProductOrder с полями, отличными от поля ;-) –