在应用程序上运行manage.py dumpdata,其名称中带有点

Kal*_*lle 8 django django-admin

我正在尝试将一些数据从我的开发机器移动到服务器dumpdata但遇到了问题.所以,假设我要转储属于该应用程序的数据django.contrib.auth.
django.contrib.auth在我的INSTALLED_APPS.
这种情况发生在我跑步时
$ python manage.py dumpdata django.contrib.auth

Error: Unknown application: django.contrib.auth

manage.py testserver

$ python
>>> import django.contrib.auth

奇怪的是我可以做dumpdata(即没有任何东西被打破)或者这样做 python路径没有任何问题. 我可以运行直接位于项目目录中的应用程序. 如果我省略了应用程序的名称,那么表格会按预期转储.
django.contrib.auth

site-packages
dumpdata

那么,为什么我不能指出名称中带点的特定应用呢?我试图转储django.contrib.auth具有相同结果的其他应用程序.

Man*_*dan 22

尝试改为:

python manage.py dumpdata auth
Run Code Online (Sandbox Code Playgroud)

dumpdata命令不需要应用程序的(完全限定的)程序包名称,只需要名称.

  • 这是不直观的行为,因为我希望Django使用完全限定的包名,但如果没有冲突则允许短名称.感谢您指出了这一点. (4认同)