Django 如何在queryset对象中插入新字段?

Django 如何在queryset对象中插入新字段?,django,python-2.7,Django,Python 2.7,我的模型中有: class Product(models.Model): name = models.CharField(max_length=50) category = models.ForeignKey(Categoria) price = models.DecimalField() def __str__(self): return self.name def dollar_price(self, dollar_price):

我的模型中有:

class Product(models.Model):
    name = models.CharField(max_length=50)
    category = models.ForeignKey(Categoria)
    price = models.DecimalField()

    def __str__(self):
        return self.name

    def dollar_price(self, dollar_price):
        return self.price * dollar_price
我想在视图中获得每种产品的美元价格:

def products(request):
    p = Product.objects.all()
    dollar = 10
    for product in p:
        dollar_price = product.dollar_price(dollar)
        p[product].new_field = dollar_price # This line is the problem
    return render(request, "main/products.html", {"p":p})
在我放评论的那一行,我知道我不能这样做,但我想为“p”对象创建一个新字段,并用“dollar_price”填充它


如何做类似的操作?

product
product
的一个实例,您应该为其分配新字段

for product in p:
    dollar_price = product.dollar_price(dollar)
    product.new_field = dollar_price # This line is the problem

在这个循环之后,您将使用
new\u字段对实例进行queryset
p
,但是,参数呢?我可以在模板中做“p.dollar_price(10)”或类似的东西吗?是的,我一开始没有注意到这个论点非常感谢,你是对的!这解决了我的“问题”