How to reload modules in django shell?

后端 未结 11 1203
面向向阳花
面向向阳花 2020-12-22 18:38

I am working with Django and use Django shell all the time. The annoying part is that while the Django server reloads on code changes, the shell does not, so every time I ma

11条回答
  •  别那么骄傲
    2020-12-22 19:17

    My solution for this inconvenient follows. I am using IPython.

    $ ./manage.py shell
    > import myapp.models as mdls   # 'mdls' or whatever you want, but short...
    > mdls.SomeModel.objects.get(pk=100)
    > # At this point save some changes in the model
    > reload(mdls)
    > mdls.SomeModel.objects.get(pk=100)
    

    For Python 3.x, 'reload' must be imported using:

    from importlib import reload
    

    Hope it helps. Of course it is for debug purposes.

    Cheers.

提交回复
热议问题