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字段对实例进行querysetp
,但是,参数呢?我可以在模板中做“p.dollar_price(10)”或类似的东西吗?是的,我一开始没有注意到这个论点非常感谢,你是对的!这解决了我的“问题”