장고 필터 사용 "필드에 키워드 '이름'을 확인할 수 없습니다", 나는 다음과 같은 FilterSet을 가지고 : 당신이 볼 수 있듯이장고 필터 order_by
class MyFilter(django_filters.FilterSet):
name = django_filters.CharFilter(name='full_name')
class Meta:
model = MyModel
fields = ['name',]
order_by_field = 'order'
order_by = ('name',)
, 나는 full_name
에 필드를 명명 한 그래서 필터 테이블의 full_name
열에.
Cannot resolve keyword 'name' into field. Choices are: ...
그것은 ?name=Jon%20Doe
와 필터하지만 순서가 작동하지 않습니다 내가 name
에 order_by
을 설정하지만 일단 그것은 나에게 오류를 제공합니다. 무엇이 문제 일 수 있습니까?
명시 적으로 ** 모델 ** 입력란이어야한다는 내용이 표시되지 않습니다. 'order_by는 필드 이름의리스트 또는 튜플이 될 수 있습니다. ' [name] (https://django-filter.readthedocs.org/en/latest/ref/filters.html#name)을 참조하십시오. – norbertpy
@norbertpy - 제 답변이 맞습니다. 나는 그것을 설명으로 업데이트했다. 테스트 한 것처럼 print 문을 던져서 디버깅을 통해 결과를 확인하십시오. –
설명해 주셔서 감사합니다. 맞습니다. 그러나 한 가지 질문입니다. 쿼리 문자열 매개 변수를 순서에 어떻게 매핑합니까? 내 쿼리 문자열에'? order = name'을 쓰고 대신 모델의'full_name' 열에 순서를 매기기를 원합니다. 어떻게해야합니까? – norbertpy