从Rend访问基础模型

2024-04-25 22:10:43 发布

您现在位置:Python中文网/ 问答频道 /正文

目前,使用普通的DRF,我可以非常容易地将我的模型呈现为JSON。这很简单(使用JSONRenderer),因为从Serializer生成的dict生成JSON很简单。你知道吗

现在我想能够渲染我的模型作为SVG,但我相当卡住。我需要比BaseRendererrender()data参数更深入地检查我的模型

总之,我需要从Renderer

我想我可以这样做:

  • 从传递给render()context['view']中检索ViewSet。你知道吗
  • ViewSet检索Serializer。你知道吗
  • 由于Serializer,反序列化模型的data。你知道吗
  • 使用ORM生成适当的SVG。你知道吗

对于这样一个简单的用例来说,这似乎非常痛苦。你知道吗

是否有其他方法可以访问ORM并为模型渲染SVG?也许我只是没有按正确的顺序使用正确的工具?你知道吗

示例:

假设我有两个简单的模型:CarWheelWheel包含其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时,我需要用它的轮子来绘制它!因此,我需要从我的svgrender访问ORM并从轮子检索信息:哪种颜色?哪种类型?等等


Tags: svg模型jsonhttpdata序列化ormrender

热门问题