2013-03-06 2 views
2

저는 장고와 웹 프레임 워크를 처음 사용했습니다. 나는 그 속성의 하위 그룹 주어진 장고의 모델을 필터링하기 위해 노력하고 지금 내 그룹 속성이 "/" 예를 들어장고의 모델 필터링

Group="System/Application" 

과 내가 원하는에 의해 sepearted 값의 쌍을 포함

pack=My_pack.objects.get(Group=sumthing) 

하나의 값만 "시스템"이라고 가정하면 모델을 필터링하고, 그 다음에는 어떻게해야합니까?

+0

게토 토크를 사용하는 경우 +1 –

답변

1

이이 쿼리의 구문이 될 것

pack = My_pack.objects.filter(group__startswith='System') 
2

:

pack = My_pack.objects.filter(Group__icontains='System') 
1

당신이 다른 방법으로 장고에 필터를 사용할 수 있습니다,

My_pack.objects.get은 하나의 인스턴스 만 가져오고, 여기에 인스턴스가 여러 개있는 경우 woul d 당신에게 오류를주십시오. 그래서 블록을 제외하고 이것을 try로 묶어야합니다. 반면에

pack = My_pack.objects.get(group__icontains='System')

하나 개 이상의 인스턴스를 가져올 것 더 예를 찾을 수없는 경우가 가져다 빈리스트 것이다

My_pack.objects.filter 또한 []

pack = My_pack.objects.filter(group__startswith='System')

get_object_or_404이라는 바로 가기 함수 중 하나를 사용할 수 있습니다. 이것은 get과 비슷하게 작동합니다. 차이점은 블록을 제외하고 try로 묶을 필요가 없다는 것입니다. 인스턴스를 가져 오면 반환 값으로 인스턴스를 제공하지만 인스턴스를 찾지 못하면 404 상태 메시지가 반환됩니다.

pack = get_object_or_404(My_pack, group__startswith='System')