我正在創建一個Django應用程序(使用開箱ORM)來維護比薩訂單。我有以下型號:Django ORM - 沒有多對多關係的級聯刪除
class Employee(models.Model):
name = models.CharField(max_length=50)
class PizzaPlace(models.Model):
name = models.CharField(max_length=50)
employees = models.ManyToManyField(Employee)
class Order(models.Model):
description = models.CharField(max_length=50)
pizzaplace = models.ForeignKey(PizzaPlace)
chef = models.ForeignKey(Employee)
我使用modelformset_factory來維護每個Pizza Place的員工。我想要的是,無論員工被解僱還是離開比薩店,他們履行的訂單仍然保持完整,並可供比薩店使用。目前發生的情況是,從比薩餐廳刪除員工記錄時,刪除是級聯的。
維持與維護訂單的關聯的最佳方法是什麼?特別是維持訂單是否在過去被員工刪除,即使他們與披薩店無關?
謝謝Thomas和Enrico,你們都給了我可能的選擇。在回顧你的回答並做了一些更多的研究後,我去了「pizzaPlace.employees.remove(員工)」 - 我意識到我實際上並不想「刪除」員工記錄,而只是將他們的入口與PizzaPlace分開。 – Hassan 2013-04-10 14:06:04