目前,只使用简单的DRF,我能够非常轻松地将我的模型渲染为JSON。这很简单(使用JSONRenderer
),因为从Serializer
生成的dicts生成JSON是微不足道的。
现在我希望能够将我的模型渲染为SVG,但我还是很困难。我需要比data
上render()
BaseRenderer
参数中的Renderer
参数更深入地检查我的模型。
总而言之,我需要检索基础模型并从ViewSet
我想我可以这样做:
context['view']
的{{1}}检索render()
。Serializer
。ViewSet
data
反序列化模型Serializer
。对于这样一个简单的用例,这似乎非常折磨。
还有其他方法可以访问ORM并为模型渲染SVG吗?也许我只是没有按正确的顺序使用正确的工具?
示例:
假设我有两个简单的模型:Car
和Wheel
。
Wheel
包含其Car
的外键。
现在,当我序列化Car
时,我会有以下内容:
{
"url": "http://myserver/cars/1",
"type": "limo",
"wheels": ["http://myserver/wheels/1", "http://myserver/wheels/2", "http://myserver/wheels/3", "http://myserver/wheels/4"]
}
在处理JSON数据时,这一切都很棒,我希望客户端如果想要了解有关它们的更多信息,可以向轮子发出查询。 但是当我查询汽车来渲染SVG时,我需要用它的轮子绘制它!所以我需要从我的SVGRenderer访问ORM并从轮子中检索信息:哪种颜色?哪种类型?等