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')
Вернуться на верх