Django的1.11Django的:如何創建模型
我有多個型號具有相同的字段status
,例如repairOrder,statusUpdate其中有一樣的地位做一個里程錶場時更新相關的模型字段。當用戶做出新的statusupdate或repairOrder時,我希望它更新狀態模型中的某些字段。我看到它的方式有四個選項
- 覆蓋上statusupdate
- using signals
- custom model manager保存()方法,該方法可以查詢相關的模型和更新領域
- 模型上的方法將調用相關型號 並更新我想要的地方。
我已經刪除了一些字段以使示例更簡單。
class Status(models.Model):
odometer = models.IntegerField()
vehicle = models.ForeignKey(Vehicle, on_delete=models.CASCADE)
...
class statusUpdate(models.Model):
odometer = models.IntegerField()
vehicle = models.ForeignKey(Vehicle, on_delete=models.CASCADE)
...
當用戶創建一個新的stautsUpdate時,我希望Status的里程錶也被設置爲。
問:什麼是Django的方式來更新相關模型的字段?
編輯:這個問題很多編輯來澄清這個問題
重複字段的原因是它保存用戶更新狀態的歷史記錄等。該公司喜歡能夠查看每天正在投放的狀態更新和平均里程數。他們從外部django這樣做,因此需要分離模型。 – dieusu
另一方面,我可以繼承該模型並讓它們自動更新嗎? – dieusu
對於第一個評論,給出的答案也將在那裏工作。對於第二個評論是的,你可以繼承模型,但如果你想自動更新,那麼你必須重寫保存方法,或者你必須做一個自定義模型管理器。重寫保存方法將更容易。 –