我如何从模型中获取字段并计算一些字段并将它们传递给我的模板?

How i can fetch fields from models and calculate some filed and pass them to my template?

我的model.py

class Main(models.Model):
    name= ....
    amount      = models.PositiveIntegerField(default=40000)

在我看来:

def mainf(request):
    listmain = models.Main.objects.all()
    for data in listmain:
        value   =   data.amount * 5
    calculated_data = data_and_value  

    context = {'main':calculated_data}
    return render(request,'main/main.html',context)

我如何从模型中获取字段并计算一些字段并将它们(calculated_data)传递到我的模板?

例如我想按小时计算工资。我想从数据库中获取小时数并计算小时数*500,然后将小时数和薪水发送到我的模板。

data_and_value 可以是对象或任何东西。我想要这个并发送到我的模板

要么将它们定义为模型的属性,要么通过上下文将它们传递给模板。

如果值完全基于一个模型实例中的字段,最好定义一个 属性。例如,

class Thing( models.Model)
    # Thing has height, width, depth fields
    ...
    @property
    def adjusted_volume(self):
        return (self.height+10) * (self.width+10) * (self.depth+10)

在您的模板(实际上在您的代码中)中,您现在可以引用 {{ thing.adjusted_volume }},假设 thing 已明确包含在上下文中,或者通过 class-基于视图的 context_object_name="thing"

您的问题显示了一个示例,该示例将不限于单个对象实例的计算结果传递给模板,您可以在其中将其称为 {{ main}}(但代码不正确,value被反复计算然后循环丢掉,data_and_value没有定义)。