我很好奇在Django中是否有不用"SELECT * FROM...
"的方式进行查询。我想要执行"SELECT DISTINCT columnName FROM ...
"。
具体来说,我有一个模型看起来像:
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,但如果必须使用,也可以。尽管我以前没有在Django/Python中编写过原始SQL。
select distinct(app_productorder.category) from app_productorder where app_productorder.rank <30;
? - Prakash Dahalselect distinct on
的好技巧:https://www.geekytidbits.com/postgres-distinct-on/ - John Jiang