Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有QuerySet的Django模型中的计算属性_Python_Django_Amcharts - Fatal编程技术网

Python 带有QuerySet的Django模型中的计算属性

Python 带有QuerySet的Django模型中的计算属性,python,django,amcharts,Python,Django,Amcharts,我正在使用Django后端的前端上工作。 我想向一个Django模型添加一个新的计算属性,该模型包含amCharts的图表数据 经过一些研究,我发现在这里使用@property将是一种方法 然而,所有实现atm的视图集都使用QuerySet,正如我在谷歌搜索后发现的那样,QuerySet忽略了计算属性 有没有办法保留queryset并让它使用我的计算属性 如果不是:手动写出所有queryset操作会解决问题吗 代码: 根据@dirkgroten的建议,我在django发布我的结果之前使用添加新的

我正在使用Django后端的前端上工作。 我想向一个Django模型添加一个新的计算属性,该模型包含amCharts的图表数据

经过一些研究,我发现在这里使用
@property
将是一种方法

然而,所有实现atm的视图集都使用QuerySet,正如我在谷歌搜索后发现的那样,QuerySet忽略了计算属性

  • 有没有办法保留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'])