홈>
모델 상속으로 예기치 않은 동작이 발생했습니다.
이 코드는 django shell에서 시작합니다 :
import mptt
from django.db import models
class MyTreeQuerySet(mptt.querysets.TreeQuerySet):
pass
class MyTreeManager(
models.Manager.from_queryset(MyTreeQuerySet)
):
pass
class TreeModel(mptt.models.MPTTModel):
class Meta:
app_label = 'myapp'
objects = MyTreeManager()
print(type(TreeModel.objects.all()))
이것 :
mptt.querysets.TreeQuerySet
.
그러나
MyTreeQuerySet
를 기다렸다
.
Django == 1.11 및 django-mptt == 0.9.1로 확인
사용자 정의 쿼리 세트를 사용하여 MPTTModel의 상위 항목을 작성하려면 어떻게해야합니까?
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- vue.js - axios를 사용하여 서버에 이미지를 업로드하는 방법
- python - 문자열에서 특정 문자 제거
나 자신을위한 해결책 : 우리는
mptt.managers.TreeManager.from_queryset
를 사용해야한다dj_models.Manager.from_queryset
대신 . 나는MPTTModel.__new__
때문에 그것을 가정 관리자 목록 패치와 함께 마술이 있습니다. 나는 파지 않았다.