2016-05-16 88 views
-1

此问题涉及django项目体系结构。 我正在建一个小店,卖家可以在这里上传他们的数码产品。系统正在查询数据库并更新产品参数。我想要有一个基于这些参数设置价格的系统,并且可以根据这些参数在django admin中更新不同产品组的价格。基本价格加上每个已知参数的额外费用。每个产品都有几个字段,每个字段都可以有不同的值。额外的价格是基于价值。所以我想它应该是一些模型,比如Prices。我有一个关于如何用字典来做到这一点的设想。硬编码参数:价格项目,循环他们和瞧。你们可以建议我怎么能用django模型解决这个问题?希望我的问题有道理。更新django中产品组的价格

回答

0

可能是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使用setattrgetattr像这样更新值

for rec in records: 
    setattr(rec, 'field_name', 'field_value') 
    rec.save() 
+0

这将分配所有更新的对象相同的价格,而不是导出的价格d来自其他属性。已更新 – schwobaseggl

+0

。 Thanx @schwobaseggl –

+0

我发现我需要的实际上是JSONField。您的更新代码片段解决了我的一部分问题,因为它证明了过于复杂的问题。谢谢。 –