본문 바로가기
MySql

MySQL 여러 값을 얻기위한 Django MySQL 고유 쿼리

by 베이스 공부 2021. 1. 29.
반응형

불행히도 Django 1.4.1 과 함께 사용되는 MySQL 데이터베이스가 있습니다. 고유 한 기능은 내가 올바르게 이해하면 POSTGRESQL에서만 작동합니다.

고유 한 쿼리를 여러 값으로 구성하고 고유 한 쿼리를 만들어야합니다.

처럼; This one works for POSTGRE but not with MYSQL, 다음과 같은 오류가 발생합니다.

DISTINCT ON 필드는이 데이터베이스 백엔드에서 지원되지 않습니다.

staff = Staff.objects.order_by('person__full_name').distinct('person__full_name')

그런 다음 시도했습니다

staff = Staff.objects.values('person__full_name','staff_job_categories').distinct().order_by('person__full_name')

그러나 나는 직원 직업 범주도 받기 때문에 뚜렷한 가치를 얻지 못합니다. 그러나 그것을 포함하지 않으면 배열로 가져올 수 없습니다.

어떤 생각?

 

해결 방법

 

.distinct ([* fields]) 는 PostgresQL에서만 작동합니다.


차이가 있습니다. 일반적인 distinct () 호출의 경우 데이터베이스는 구별되는 행을 결정할 때 각 행의 각 필드를 비교합니다. 지정된 필드 이름을 가진 distinct () 호출의 경우 데이터베이스는 지정된 필드 이름 만 비교합니다.

언급했듯이 레코드의 모든 필드가 확인됩니다. 대부분의 경우 필드 값이 다른 레코드를 가져올 가능성이 높습니다 (여러 테이블 ManyToMany 또는 ForeignKey 관계를 쿼리하는 경우 더 가능성이 높습니다).


 

참조 페이지 https://stackoverflow.com/questions/12402923

 

 

반응형

댓글