我正在使用消耗Django后端的前端。我想向一个Django模型添加一个新的计算属性,其中包含amCharts的图表数据。
经过一些研究,我发现使用@property
将是这里的方法。
但是所有实现atm的视图集都使用查询集,正如我在一些谷歌搜索后发现的那样,忽略了计算所得的属性。
代码:
# models.py
class MyModel:
# Normal props
@property
def calced(self):
return somecalc
# views.py
class MyModelView(ModelViewSet):
serializer_class = MyModelSerializer
def get_queryset(self):
return MyModel.objects.filter(id=self.kwargs['id_pk'])
根据@dirkgroten的建议,在django发布我的结果之前,我用SerializerMethodField添加了新的json字段。