Olası Çoğalt:Tastypie bir sorguya filtreleri birleştiren
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'], }
Bir olması gerekir:
Django Tastypie Advanced Filtering: How to do complex lookups with Q objects
Bu ideal olacaktır: http: mysite.com/api/v1/tagged q = test 'q' iki alana yönelik bir OR filtresi gerçekleştirir
.
Bu yapılabilirlik?
GÜNCELLEME: İşte gelişmiş filtreler ile çalışan ancak bir OR deyimi nasıl gerçekten emin değilim am şudur:
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
Bu ihtiyacım olan şey. Teşekkürler! – bevinlorenzo