我的模型中有这个:
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
Run Code Online (Sandbox Code Playgroud)
我想在视图中获取每个产品的美元价格:
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})
Run Code Online (Sandbox Code Playgroud)
在我发表评论的那一行,我知道我不能这样做,但我想创建一个“p”对象的新字段并用“dollar_price”填充它。
我怎样才能做类似的事情?
我想在用户提供的字段中进行搜索。
到目前为止我有这个:
def search_engine(model, given_field, text):
# Stuff
result = model.objects.filter(given_field__icontains=text)
return result
Run Code Online (Sandbox Code Playgroud)
过滤器内的“given_field”将是函数中给定的参数,它是一个变量。