Функция для обновления Django объекта
def refresh(obj):
"""Перезапрашивает объект из базы и возвращает новый инстанс."""
return obj.__class__.objects.get(pk=obj.pk)
# Пример
def test_some_functionality():
foo = Foo.objects.create(name='foo')
assert foo.name == 'foo'
change_all_names_to('bar')
foo = refresh(foo)
assert foo.name == 'bar'
# Ещё вариант:
def reload(obj):
return type(obj)._default_manager.get(pk=obj.pk)