Python 在django模型中从postgresql获取不同的列

Python 在django模型中从postgresql获取不同的列,python,sql,django,postgresql,Python,Sql,Django,Postgresql,我有一个postgresql表,其中的列包含重复数据,如使用django模型创建的: 为了获得列的不同值,我们使用类似以下内容的postgre命令: SELECT distinct degree_code FROM studentapp_deg_course_cat 但我想使用python将这些数据作为数组获取。在python中如何从表的列中获取不同的对象?在django中,查询模型时可以使用该方法 像这样的 models.YourModel.objects.order_by('degree

我有一个postgresql表,其中的列包含重复数据,如使用django模型创建的:

为了获得列的不同值,我们使用类似以下内容的postgre命令:

SELECT distinct degree_code FROM studentapp_deg_course_cat
但我想使用python将这些数据作为数组获取。在python中如何从表的列中获取不同的对象?

在django中,查询模型时可以使用该方法

像这样的

models.YourModel.objects.order_by('degree_code').distinct('degree_code') 
在使用PostgreSQL时,请注意文档的状态

仅在PostgreSQL上,您可以在中传递位置参数(*字段) 以指定字段的名称,该字段应具有独立性 申请。这将转换为SELECT DISTINCT ON SQL查询。这是我的建议 差别。对于正常的distinct()调用,数据库会比较每个 确定哪些行不同时,每行中的字段。暂时 使用指定的字段名调用distinct(),数据库将仅 比较指定的字段名


与从查询中获取任何数据的方式相同。仅仅因为它是
selectdistinct
,并不会改变您检索它的方式。您将获取并存储0行或更多行的数据。您能告诉我如何使用python获取数据吗?您想在django内部还是在独立的python脚本中获取数据?我想在django内部获取数据。此操作等同于get操作吗?no-get()如果找到多个匹配项且未返回QuerySet对象,则将引发异常,而distinct()将返回可编辑的QuerySet对象。不过,它们都是QuerySet API的一部分,在使用它们访问数据库中存储的数据的意义上是相似的。打开您的django shell并尝试它们,看看它们的区别