可能性の重複にフィルタを組み合わせる:
Django Tastypie Advanced Filtering: How to do complex lookups with Q objectsTastypie
私はこのようになりますtastypie modelRseourceあります
class TaggedResource(ModelResource):
tags = ListField()
user = fields.ForeignKey(UserProfileResource, 'user')
class Meta:
queryset = Media.objects.all().order_by('-timestamp')
authorization = MediaAuthorization()
detail_allowed_methods = ['get', 'post', 'put', 'delete','patch']
filtering = {
#'user': ALL_WITH_RELATIONS,
#exact is date, lt is less than lte less than equal to, etc
'timestamp': ['exact', 'range', 'lt', 'lte', 'gte', 'gt'],
'social_source': ALL,
'media_type': ALL,
'comment': ['exact', 'startswith', 'endswith', 'contains'],
'media_text': ['exact', 'startswith', 'endswith', 'contains'],
}
を私が持っている必要がありますOR演算子を使用すると、クエリを1つのパラメータに組み合わせることができます。たとえば、 "test"という単語を含むオブジェクトをコメントフィールドまたはmedia_textフィールドから戻したいとします。
これが理想的であろう:HTTP:? 'Q' が両方のフィールドまたはフィルタを実行mysite.com/api/v1/tagged Q =試験
。
これは実行可能ですか?
UPDATE:ここで私は、高度なフィルターでの作業が、ORステートメントを取得する方法を実際に確認していない午前です:
def build_filters(self, filters=None):
if filters is None:
filters = {}
orm_filters = super(TaggedResource, self).build_filters(filters)
if 'q' in filters:
orm_filters['comment__contains'] = filters['q']
orm_filters['media_text__contains'] = filters['q']
return orm_filters
これは私が必要としたものです。ありがとう! – bevinlorenzo