Python 带有QuerySet的Django模型中的计算属性
我正在使用Django后端的前端上工作。 我想向一个Django模型添加一个新的计算属性,该模型包含amCharts的图表数据 经过一些研究,我发现在这里使用Python 带有QuerySet的Django模型中的计算属性,python,django,amcharts,Python,Django,Amcharts,我正在使用Django后端的前端上工作。 我想向一个Django模型添加一个新的计算属性,该模型包含amCharts的图表数据 经过一些研究,我发现在这里使用@property将是一种方法 然而,所有实现atm的视图集都使用QuerySet,正如我在谷歌搜索后发现的那样,QuerySet忽略了计算属性 有没有办法保留queryset并让它使用我的计算属性 如果不是:手动写出所有queryset操作会解决问题吗 代码: 根据@dirkgroten的建议,我在django发布我的结果之前使用添加新的
@property
将是一种方法
然而,所有实现atm的视图集都使用QuerySet,正如我在谷歌搜索后发现的那样,QuerySet忽略了计算属性
根据@dirkgroten的建议,我在django发布我的结果之前使用添加新的json字段。根据@dirkgroten的建议,我在django发布我的结果之前使用添加新的json字段。您需要澄清这个问题。查询集用于从数据库检索选定对象。模型实例就是这些对象。模型属性是对象方法。它可以做任何事情,但通常它所做的大部分事情都与它自己的
self
字段的操作有关。是否要将其他相关数据库行中的一个或多个字段附加到queryset检索到的对象,以用作属性计算的输入?这叫做注释。请参阅Django queryset文档。@nigel222我需要json中的一个附加字段,该字段由视图返回,其中包含amChart的计算数据。计算所需的所有数据都包含在模型中。我看了一下注释。如果您向我们展示实际的模型和您在calced()
方法中执行的计算,我们可能会看到您是否可以在db查询中直接检索到它。否则,使用a或a您需要澄清这个问题。查询集用于从数据库检索选定对象。模型实例就是这些对象。模型属性是对象方法。它可以做任何事情,但通常它所做的大部分事情都与它自己的self
字段的操作有关。是否要将其他相关数据库行中的一个或多个字段附加到queryset检索到的对象,以用作属性计算的输入?这叫做注释。请参阅Django queryset文档。@nigel222我需要json中的一个附加字段,该字段由视图返回,其中包含amChart的计算数据。计算所需的所有数据都包含在模型中。我看了一下注释。如果您向我们展示实际的模型和您在calced()
方法中执行的计算,我们可能会看到您是否可以在db查询中直接检索到它。否则,请使用a或a
# 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'])