我正在保存模型,我需要检测用户是否正在尝试更改字段并显示错误:
def save(self, *args, **kwargs):
if self.status is being changed:
error you cannot do that!
如何做到这一点是Django
答案 0 :(得分: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()
{}
>>>
另见:
希望有所帮助。