在 Django 中更新产品组的价格
Updating prices for product groups in django
本题涉及django项目架构。
我正在建立小商店,卖家可以在其中上传他们的数字产品。系统正在查询数据库并更新产品参数。我想要一个根据这些参数设置价格的系统,并有可能在 django admin 中根据这些参数更新不同产品组的价格。基本价格加上每个已知参数的额外费用。每个产品都有几个字段,每个字段可以有不同的值。额外价格基于价值。所以我想它应该是某种模型,比如 Prices
。我对如何用字典做到这一点有一个愿景。硬编码 param:price 个项目,循环遍历它们,瞧。你们能建议我如何用 Django 模型解决这个问题吗?希望我的问题有道理。
可能 Django 更新查询会在您的情况下帮助您。它是这样工作的
ModelName.objects.filter(id__in=[1,2,3,4]).update(value='some_value')
可以找到更多文档 here
为了单独更新每条记录,您将遍历所有过滤值
records = ModelName.objects.filter(id__in=[1,2,3,4])
for rec in records:
rec.field_name = field_value
rec.save()
# and so on
您也可以像这样使用 setattr
和 getattr
来更新值
for rec in records:
setattr(rec, 'field_name', 'field_value')
rec.save()
本题涉及django项目架构。
我正在建立小商店,卖家可以在其中上传他们的数字产品。系统正在查询数据库并更新产品参数。我想要一个根据这些参数设置价格的系统,并有可能在 django admin 中根据这些参数更新不同产品组的价格。基本价格加上每个已知参数的额外费用。每个产品都有几个字段,每个字段可以有不同的值。额外价格基于价值。所以我想它应该是某种模型,比如 Prices
。我对如何用字典做到这一点有一个愿景。硬编码 param:price 个项目,循环遍历它们,瞧。你们能建议我如何用 Django 模型解决这个问题吗?希望我的问题有道理。
可能 Django 更新查询会在您的情况下帮助您。它是这样工作的
ModelName.objects.filter(id__in=[1,2,3,4]).update(value='some_value')
可以找到更多文档 here 为了单独更新每条记录,您将遍历所有过滤值
records = ModelName.objects.filter(id__in=[1,2,3,4])
for rec in records:
rec.field_name = field_value
rec.save()
# and so on
您也可以像这样使用 setattr
和 getattr
来更新值
for rec in records:
setattr(rec, 'field_name', 'field_value')
rec.save()