Python, Django

Django Shell에서 자주쓰는 기능 10가지

짹데브 2021. 6. 3. 15:12
반응형

1. refresh_from_db

데이터베이스에서 값을 새로 가져오고 싶을 때 사용합니다. 아래 예제처럼, update를 하고 나서 데이터베이스에 값을 다시 확인하고 싶을 때 사용합니다.

def test_update_result(self):
    obj = MyModel.objects.create(val=1)
    MyModel.objects.filter(pk=obj.pk).update(val=F('val') + 1)
    # At this point obj.val is still 1, but the value in the database
    # was updated to 2. The object's updated value needs to be reloaded
    # from the database.
    obj.refresh_from_db()
    self.assertEqual(obj.val, 2)

2. I-search backward

shell에서 ctrl + r을 누르면 이전에 shell에서 사용한 코드를 찾을 수 있습니다. 반복적으로 import하지 않아도 되기에 많이 사용하는 부분입니다.

// ctrl + r 을 입력했을 때
In [1]:                                                                                  
I-search backward:


// from을 입력했을 때 
In [1]: from users import models                                                                  
I-search backward: from

3. 수정한 메소드 다시 import 하기

import users.apis
from users.apis import get_user_profile


// `get_user_profile` 수정 후
reload(users.apis)
from users.apis import get_user_profile
반응형