1

我正在保存一个模型,我需要检测用户是否试图更改字段并显示错误:

 def save(self, *args, **kwargs):

     if self.status is being changed:
           error you cannot do that!

如何做到这一点是 Django

4

1 回答 1

1

看看django-dirtyfields包是否可以帮助你,引用文档:

(ve)$ ./manage.py shell
>>> from testing_app.models import TestModel
>>> tm = TestModel(boolean=True,characters="testing")
>>> tm.save()
>>> tm.is_dirty()
False
>>> tm.get_dirty_fields()
{}
>>> tm.boolean = False
>>> tm.is_dirty()
True
>>> tm.get_dirty_fields()
{'boolean': True}
>>> tm.characters = "have changed"
>>> tm.is_dirty()
True
>>> tm.get_dirty_fields()
{'boolean': True, 'characters': 'testing'}
>>> tm.save()
>>> tm.is_dirty()
False
>>> tm.get_dirty_fields()
{}
>>>

另见:

希望有帮助。

于 2013-06-03T09:31:02.037 回答