2016-05-16 126 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。您的更新代碼片段解決了我的一部分問題,因爲它證明了過於複雜的問題。謝謝。 –