2017-01-23 5 views
0
인 경우

으로 처리 할 수 ​​없습니다. 결과를 필터링하기 위해 tastypie와 함께 GET을 사용하고 있지만, tastypie는 필드에서 순서를 허용하지 않는다고 불평하고 있습니다.Django with Tastypie에서 order_by가 관계가

Django version: 1.10.2 
Tastypie version: 0.13.3 

예 URL :

localhost:8000/foos/api/foos/?format=json?order_by=bars__insp_date 

예 Tastypie 자료 :

class BarResource(ModelResource): 

    class Meta: 
     queryset = Bar.objects.all().distinct() 
     resource_name = 'bars' 
     filtering = { 
      'insp_date': ALL_WITH_RELATIONS, 
     } 
     allowed_methods = ['get'] 
     ordering = ['insp_date'] 


class FooResource(ModelResource): 

    onlinereports = fields.ToManyField(
     BarResource, 
     'bars', 
     null=True, 
     full=True, 
    ) 

    class Meta: 
     queryset = Foo.objects.all().distinct() 
     resource_name = 'foos' 
     filtering = { 
      'bars': ALL_WITH_RELATIONS, 
     } 
     ordering = ['bars'] 

응답 : 나는이 의견에 명시된 바와 같이

{ 
error: "The 'bars' field does not allow ordering." 
} 
+1

FooResource의 주문 목록에 'bars__insp_date'를 추가하려고 했습니까? – makaveli

+0

@makaveli 그게 효과가 있습니다. 고맙습니다! – Twitch

답변

2

, 당신은 필드를 추가해야 모델과 관련된 이름 당신이 사용하고 있습니다. 따라서 FooModel을 BarModel의 필드로 정렬하려면 관계를 'bar__field'으로 지정해야합니다.