更新django中产品组的价格
问题描述:
此问题涉及django项目体系结构。 我正在建一个小店,卖家可以在这里上传他们的数码产品。系统正在查询数据库并更新产品参数。我想要有一个基于这些参数设置价格的系统,并且可以根据这些参数在django admin中更新不同产品组的价格。基本价格加上每个已知参数的额外费用。每个产品都有几个字段,每个字段都可以有不同的值。额外的价格是基于价值。所以我想它应该是一些模型,比如Prices
。我有一个关于如何用字典来做到这一点的设想。硬编码参数:价格项目,循环他们和瞧。你们可以建议我怎么能用django模型解决这个问题?希望我的问题有道理。更新django中产品组的价格
答
可能是Django更新查询将帮助你在你的情况。它的工作原理是这样
ModelName.objects.filter(id__in=[1,2,3,4]).update(value='some_value')
更多文档可以发现here 对于individualy每次更新记录,你会遍历所有过滤值
records = ModelName.objects.filter(id__in=[1,2,3,4])
for rec in records:
rec.field_name = field_value
rec.save()
# and so on
您可以ALSE使用setattr
和getattr
像这样更新值
for rec in records:
setattr(rec, 'field_name', 'field_value')
rec.save()
这将分配所有更新的对象相同的价格,而不是导出的价格d来自其他属性。已更新 – schwobaseggl
。 Thanx @schwobaseggl –
我发现我需要的实际上是JSONField。您的更新代码片段解决了我的一部分问题,因为它证明了过于复杂的问题。谢谢。 –