django 관리자에서 proxy model을 설정하려고합니다. 원래 모델의 서브 세트를 나타냅니다. models.py의 코드 :django 관리자에서 사용자 지정 SQL 설정
이제 filter() 대신 JOINS와 함께 복잡한 SELECT 문을 사용해야합니다. 맞춤 관리자에게 전적으로 투입하는 적절한 방법은 무엇입니까?
django 관리자에서 proxy model을 설정하려고합니다. 원래 모델의 서브 세트를 나타냅니다. models.py의 코드 :django 관리자에서 사용자 지정 SQL 설정
이제 filter() 대신 JOINS와 함께 복잡한 SELECT 문을 사용해야합니다. 맞춤 관리자에게 전적으로 투입하는 적절한 방법은 무엇입니까?
Django는 QuerySet에 의해 생성 된 SQL에 특정 절을 삽입하기위한 후크 인 extra() QuerySet 수정자를 제공합니다.
이것은 복잡한 경우에 사용할 수 있습니다. 하나 이상의 추가 쿼리를 사용할 수 있습니다.
MyModel.objects에서 ORM을 더 사용하려면 raw SQL은 해결책이 아닙니다. 원시 SQL의 경우 iterator가 제공됩니다.
MyModel() 개체를 필터, 제외 등으로 연결할 수 없습니다. 관리자가 가능하면 필터링이 작동하지 않습니다. 이 기능이 필요한 경우 관리자가 get_query_set 메소드에서 원시 sql을 사용하지 않는 것이 유일한 선택입니다.
관리자에서도 Manager.raw를 사용할 수 있는지 알 수 없습니다.