URL-адрес был перезаписан в следующем примере, чтобы я мог передать что-то вроде http://localhost:8000/api/v1/entry/1234/1233/?format=json,, что будет передавать параметры в WRAP VIEW, когда я выполняю self.create_response (запрос, данные), только браузерпоказывает что-то вроде
api.Entry объект в 0x2e27a50
в браузере, поля не сериализуются: Примечание: на этом этапе мне не нужен ModelResource.Как я могу сделать пользовательское представление dispatch_data для возврата данных, таких как obj_get и get_object_list?Вот проблемный кусок кода:
#Object class
Class Entry(object)
name = ''
#Resource class
class EntryResource(Resource):
name = fields.CharField(attribute = 'name')
class Meta:
resource_name = 'entry'
object_class = Entry
include_resource_uri = False
authentication = Authentication()
authorization = Authorization()
serializer = Serializer()
def override_urls(self):
return [url(r"^(?P<resource_name>%s)/(?P<p1>[\d]{4})/(?P<p2>[\d]{4})%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_data'),name='api_dispatch_data'),]
def dispatch_data(self, request, **kwargs):
p1 = kwargs['p1'] #params can be retrieved here
p1 = kwargs['p2']
info = Entry()
info.name = p1 #just example
response = {1:info}
return info.values()
#Above results in ERROR, it will say Entry object has no attribute 'has_header'
#changing to self.create_response(request, info) will not serialize the fields
#urls.py
api = Api(api_name='v1')
api.register(EntryResource())
urlpatterns = patterns('',
url(r'^api/', include(api.urls)),
)