我遇到以下問題。我在MVC中有一個模型類,它有一個特殊的目的。在某些情況下,它應該能夠覆蓋自己。這種行爲可能嗎?Python,自我過濾
Class Text(Document):
a = StringField()
b = StringField()
def save(self):
if 1==Text.object(a=self.a).count(): # if similar object exists in db,
self = Text.object(a=self.a).first() # get the instance from db and
# override the origian class.
else: #use super class' save-function
return super(Text, self).save()
即使有辦法做到這一點,那麼從現在開始的6個月內,您真的想保持和理解嗎?而不是 - 創建對象 - 詢問數據庫是否存在類似的對象 - 替換對象爲什麼你不問 - 向數據庫詢問它是否具有一些給定屬性的對象 - 如果是,則獲取它,否則創建它? –
這將使編碼更容易。由於低級數據庫模型正在照顧所有的保存功能。 –