2017-01-23 4 views
0

と動作するようにorder_byを取得できません。結果をフィルタリングするためにtastypieでGETを使用していますが、日付フィールドで結果を並べ替える必要がありますが、フィールドで順序が許されないと嘆いています。Django with Tastypieでは、関係番号

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'と指定する必要があります。