Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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
Javascript 在模板中提取Django模型特征的最小值和最大值_Javascript_Django - Fatal编程技术网

Javascript 在模板中提取Django模型特征的最小值和最大值

Javascript 在模板中提取Django模型特征的最小值和最大值,javascript,django,Javascript,Django,我有一个这样的模型: class Integer(models.Model): integer_value = models.IntegerField(default=0) current_price = models.DecimalField(max_digits=5, decimal_places=2, default=0.00) share = models.IntegerField(default=0) market = models.ForeignKey

我有一个这样的模型:

class Integer(models.Model):
    integer_value = models.IntegerField(default=0)
    current_price = models.DecimalField(max_digits=5, decimal_places=2, default=0.00)
    share = models.IntegerField(default=0)
    market = models.ForeignKey(
        IntegerMarket,
        on_delete=models.CASCADE,
        related_name='integers',
        default=None)

    def __str__(self):
        return str(self.integer_value)

    class Meta:
        ordering = ['integer_value']
我正在使用以下视图:

class IntegerMarketDetailView(LoginRequiredMixin, DetailView):
    model = IntegerMarket
    template_name = 'integer_market_detail.html'
    login_url = 'login'
在我的模板中,对于给定的
IntegerMarket
,我想提取
integer\u value
的最小值和最大值,以便在JavaScript中定义轴的最小值和最大值

例如,我可能有一个
IntegerMarket
的实例,它有五个
整数
,分别是
整数值
1到5。然后我想提取1作为最小值,5作为最大值


最简单的方法是什么?

Django提供了在查询中定义的最大值和最小值

从django.db.models导入最大值、最小值

然后,在定义查询时,您将有如下内容

my\u query=models.IntegerMarket.objects.all().annotate(max\u integer=max('integer\u value')).annotate(min\u integer=min('integer\u value'))

然后,您可以在视图中使用max\u integer/min\u integer或任何您命名的名称来调用这些值。

Django提供了要在查询中定义的max和min值

从django.db.models导入最大值、最小值

然后,在定义查询时,您将有如下内容

my\u query=models.IntegerMarket.objects.all().annotate(max\u integer=max('integer\u value')).annotate(min\u integer=min('integer\u value'))

然后,您可以使用max\u integer/min\u integer或您命名的任何名称在视图中调用这些值。

给定
IntegerMarket
integer\u market
实例,您可以使用
.integers
获得所有相关的
integer
实例,因为您很好地将其设置为
related\u name

现在,您可以使用
Max
Min
进行聚合

from django.db.models import Max, Min
integer_market.integers.aggregate(Max('integer_value'), Min('integer_value'))

>> {'integer_value__max': 10, 'integer_value__min': 0}

给定
IntegerMarket
integer\u market
实例,您可以使用
.integers
获取所有相关的
integer
实例,因为您很好地将其设置为
相关的\u name

现在,您可以使用
Max
Min
进行聚合

from django.db.models import Max, Min
integer_market.integers.aggregate(Max('integer_value'), Min('integer_value'))

>> {'integer_value__max': 10, 'integer_value__min': 0}

此模板是用于Integer的单个实例的详细信息,还是用于许多实例的列表?你用的是什么样的视角?谢谢,丹尼尔罗斯曼。该模板用于
IntegerMarket
的实例。
IntegerMarket
的每个实例都将有多个与之关联的
Integer
(即,
integers
,根据相关名称)。我在原来的帖子中添加了视图。这个模板是针对Integer的单个实例的详细信息,还是针对多个实例的列表?你用的是什么样的视角?谢谢,丹尼尔罗斯曼。该模板用于
IntegerMarket
的实例。
IntegerMarket
的每个实例都将有多个与之关联的
Integer
(即,
integers
,根据相关名称)。我在原始帖子中添加了视图。谢谢,dirkgroten!但是有没有一种方法可以把它作为(比如)10而不是模板端的
{'integer\u value\uu max':10}
?这样,我可以使用双大括号将其直接输入javascript。这就是我显示的重新返回值。这是一个带有键
integer\u value\u max
integer\u value\u min
的字典,因此如果您将其作为上下文变量
v
传递给模板,您可以使用
{v.integer\u value\u max}
在HTML文件中包含该值。谢谢,DirkRoten!但是有没有一种方法可以把它作为(比如)10而不是模板端的
{'integer\u value\uu max':10}
?这样,我可以使用双大括号将其直接输入javascript。这就是我显示的重新返回值。它是一个带有键
integer\u value\uu max
integer\u value\uu min
的字典,因此如果您将其作为上下文变量
v
传递给模板,您可以使用
{v.integer\u value\uu max}
将值保存在HTML文件中。