2017-04-23 27 views
0

我創建了兩個簡單的Django模型。 一個模型只是保存話單細節。 另一位持有在該條例草案中購買的物品清單,通過外鍵關係鏈接。 我一直在用這個實現創建一個非常大的數據庫的問題。 模型類:Django模型中用於存儲Commerce商店交易中購買商品的高效方式

class Bill(models.Model): 
    seller_id = models.ForeignKey(User , related_name = 'bill') 
    amount = models.DecimalField(max_digits = 7 , decimal_places = 2) 
    customer_id = models.ForeignKey(User , related_name = 'bill') 

class BillItems(models.Model): 
    bill = models.ForeignKey(Bill , related_name = 'items') 
    product = models.ForeignKey(Product , related_name = 'items') 
    quantity = models.DecimalField(max_digits = 6 , decimal_places = 3) 

現在我看到它,一段時間後,我的數據庫(MySQL的)將有一個非常大的數字比爾物品實例。 有沒有更好的方法來實現這樣的結構? 或 有沒有一種方法來優化這種結構?

感謝和問候。

+0

如果您在賬單中購買的物品總數只是存儲在Bill模型中的金額字段是多餘的。您可以通過從BillItems中獲取所有數量的總和來支付賬單。 – badiya

回答

1
  • 我不認爲這是一個很大的問題(它最壞的情況會比Bills表格更大,這在DB世界裏並不算什麼大問題)。
  • 但是,如果必須,更好的方法是在賬單和產品之間建立多對多的關係。唯一的問題是將「數量」添加到橋表中。你可以看看如何實現它的this答案。
相關問題