django模型检测用户是否试图更改字段
我正在保存模型,需要检测用户是否试图更改字段并显示错误:django模型检测用户是否试图更改字段,django,Django,我正在保存模型,需要检测用户是否试图更改字段并显示错误: def save(self, *args, **kwargs): if self.status is being changed: error you cannot do that! 如何做到这一点是Django看看软件包是否能帮助您,引用文档: (ve)$ ./manage.py shell >>> from testing_app.models import TestModel
def save(self, *args, **kwargs):
if self.status is being changed:
error you cannot do that!
如何做到这一点是Django看看软件包是否能帮助您,引用文档:
(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()
{}
>>>
另见:
(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()
{}
>>>
另见: