0
林正試圖挽救MyModel
實例只有當條件滿足,在我來說,我想保存只是如果我的模型字段的子對象是相等的,例如:Django的模型不保存,如果條件得到滿足
def save(self, *args, **kwargs):
if self.field1.obj == self.field2.obj:
super(MyModel, self).save(*args, **kwargs)
我試過上面的代碼,當obj
在字段不一樣的時候它仍然保存。
- 爲什麼從超級保存方法沒有被調用時它仍然保存?
- 是否可以在我的示例上設置else語句來明確指示不要保存?
它不應該保存。在python中比較兩個相等的對象也是非常簡單的,你可以實現。爲什麼它的價值你可以做別的:提高異常,看看是否被稱爲 –
節省方法?在管理員?不幸的是有很多方法可以繞過Django的'model.save()'方法,包括多個管理操作。 Condiser也['QuerySet.update()'](https://docs.djangoproject.com/en/1.8/ref/models/querysets/#django.db.models.query.QuerySet.update)。 –