3. Как перезагрузить объект модели из базы данных?¶
Модели могут быть перезагружены из базы данных с помощью метода refresh_from_db()
. Это оказывается полезным при тестировании. Например,:
class TestORM(TestCase):
def test_update_result(self):
userobject = User.objects.create(username='testuser', first_name='Test', last_name='user')
User.objects.filter(username='testuser').update(username='test1user')
# At this point userobject.val is still testuser, but the value in the database
# was updated to test1user. The object's updated value needs to be reloaded
# from the database.
userobject.refresh_from_db()
self.assertEqual(userobject.username, 'test1user')