2010-03-12 47 views
0

我正在構建一個電子商務網站。 我有一個產品和訂單模型。 客戶可能會在顧客實際購買產品之前訂購產品,然後管理員更改其價格 或其他字段。Django中的模型對象版本

一個可能的解決方案是向產品模型添加'版本'字段。 當管理員更新產品字段時,我將添加一個時間戳並創建一個新對象 而不是更新舊對象。 訂單將具有對特定產品版本的引用。

這是否有意義? 覆蓋產品保存方法是否足以使其工作?

感謝

回答

1

我做這種方式:

使順序表中的相關產品列的副本。

當您將產品添加到訂單中時,拷貝從產品到訂單(如果您需要,還包括FK)。這樣管理員可以做任何他們想做的事(改變產品名稱/價格/類別等),但產品價格/名稱/等等將始終保持不變。

您可以按照您的建議在產品中創建一個版本列,但這會更復雜。

+0

將產品字段複製到訂單是一個好主意。 唯一的問題是不同類型的產品有不同的領域。 也許我只是將所有內容都複製到文本字段,並且只將所有產品類型共有的字段複製到字段中。 謝謝 – pablo 2010-03-12 01:12:21