9
class LinguistResource(ModelResource):

    class Meta:
        model = Linguist
        queryset = Linguist.objects.all()
        resource_name = 'linguists_by_language'
        filtering = {
            "language": ('exact', ),
        }

「言語」フィルターを必須にすることは可能ですか?

私の目標は、GETパラメーターにキー「言語」がない場合にエラーを発生させることです

4

1 に答える 1

13

build_filtersをオーバーライドすることで、これをキャッチできます。

from tastypie.exceptions import BadRequest

def build_filters(self, filters=None):
    if 'language' not in filters:
         raise BadRequest("missing language param") # or maybe create your own exception
    return super(LinguistResource, self).build_filters(filters)
于 2012-02-24T11:07:23.447 に答える