2

Tastypie に生の SQL クエリセットを取得させるにはどうすればよいですか? queryset = Foo.objects.raw(sql)動作していないようです。それは不可能ですか?

4

4 に答える 4

1

これはうまくいくようです:

class BarResource(ModelResource):

    class Meta:
        queryset = Bar.objects.all()

    def dehydrate(self, bundle):
        qs = Bar.objects.raw('SELECT * FROM foo_bar')
        return [row for row in qs]
于 2013-02-11T21:42:35.880 に答える
1
queryset = super(class_name, self).get_query_set()
return queryset.whatever()
于 2013-02-10T07:39:58.167 に答える
0

これは私にはうまくいきます:D

class UsersResource(ModelResource):
    class Meta:
        resource_name   = "users"
        queryset        = User.objects.all()
        allowed_methods = ['get']

   def obj_get_list(self, bundle, **kwargs):
        query = """
        SELECT 
            id, name
        FROM 
            users 
        ORDER BY name"""         
        qs = User.objects.raw(query)
        return [row for row in qs]
于 2015-03-23T20:58:37.580 に答える
0

生のSQL構文を含めるために脱水機能をオーバーライドしたり、クエリセットへのリクエストごとの変更を試みることができますhttp://django-tastypie.readthedocs.org/en/latest/cookbook.html

個人的には、API REST 構文が何であれ、view.py でカスタム ビュー関数を作成したいと考えています。

于 2013-02-10T01:55:50.320 に答える