Я следую this question, которые помогают мне узнать, как переопределить мой JSONRenderer, но возникает другое сомнение в том, как я могу предоставить аргумент моему переопределенному JSONRenderer, чтобы я мог изменить свое имя элемента как я хочу:Django REST Framework: настройка данных dict на JSONRenderer
, пожалуйста, посмотрите на следующий фрагмент кода:
from rest_framework.renderers import JSONRenderer
class EmberJSONRenderer(JSONRenderer):
def render(self, data, accepted_media_type=None, renderer_context=None):
data = {'element': data}
return super(EmberJSONRenderer, self).render(data, accepted_media_type, renderer_context)
Мое намерение изменить этот «элемент» для переменной, я хотел бы получить от арг по этой причине я попытался это:
в renderers.py
from rest_framework.renderers import JSONRenderer
class EmberJSONRenderer(JSONRenderer):
def __init__(self,myarg='teste'):
self.myarg = myarg
def render(self, data, accepted_media_type=None, renderer_context=None):
data = {self.myarg:data}
return super(EmberJSONRenderer, self).render(data, accepted_media_type, renderer_context)
в views.py:
class myViewSet(viewsets.ModelViewSet):
myrender = EmberJSONRenderer(myarg='abc')
renderer_classes = (myrender, BrowsableAPIRenderer,)
queryset = mymodel.objects.filter(myfilter=2)
serializer_class = mySerializer
allowed_methods = ('GET','OPTIONS','HEAD')
это поднять следующее: TypeError
'EmberJSONRenderer' object is not callable
Есть ли у вас какие-либо предложения, как я могу передать информацию мой взгляд непосредственно на renderer как arg?