Каков наилучший способ показать вложенный ресурс только как часть родительского?
Рассмотрим следующие ресурсы:
class ParentResource(resources.ModelResource):
children = fields.ToMany('api.resources.ChildrenResource', 'children', related_name='parent')
class Meta:
queryset = Parent.objects.all()
class ChildrenResource(resources.ModelResource):
class Meta:
queryset = Children.objects.all()
Я бы хотел добиться следующего поведения:
Если пользователь запрашивает /api/v1/parentresource/
, он получает всех родителей с родственными детьми;
Если пользователь запрашивает /api/v1/childrenresource/
, он ничего не получает, или перенаправление, или что угодно, кроме всего ChildrenResource
.
Ну, мне удалось, как этого добиться:
class ChildrenResource(resources.ModelResource):
class Meta:
queryset = Children.objects.all()
def prepend_urls(self):
return [
url(r"^(?P<resource_name>%s)%s$" %
(self._meta.resource_name, trailing_slash()),
self.wrap_view('return_none'), name="return_none"),
]
def return_none(self, request, **kwargs):
return HttpResponse()