假设我定义了一个模型Story
,并在我的save
方法中自动更新了update_time
字段:
class Article(Document): ... content = StringField() likes = IntField(default=0) some_mark = BooleanField() update_time = DateTimeField(default=datetime.datetime.now) def save(...) self.updated_at = datetime.datetime.now() ...
但我不想仅在update_time
计数或likes
更改时才更新some_mark
。或者,如果我只想更改某些字段(如update_time
)时更新content
。最好的方法是什么?
答案 0 :(得分:0)
您可以检查Document类上的._changed_fields
属性,以检查已更改的字段
class Person(Document):
name = StringField()
enter code here
p = Person(name='John').save()
print(p._changed_fields) # []
p.name = 'Bob'
print(p._changed_fields) # ['name']