有什么方法可以让syncdb拉入models.py中没有的模型吗?
我有一个文件,其中包含嵌入在我的应用程序深处的模型,而不是在 models.py 文件或模型目录中。
基本上,它是一个指向旧数据库上的表的文件,这就是我将其放在单独文件中的原因。
但是,现在我正在尝试设置测试版本,我需要能够通过syncdb 创建所有表。
我有什么办法可以做到这一点吗?或者我必须使用 SQL 手动创建表?
I have a file filled with models embedded deep within my app and not in a models.py file or models directory.
Basically it's a file that points to tables on a legacy database, which is why I put it in a separate file.
However, now that I'm trying to set up a testing version, I need to be able to create all the tables via syncdb.
Is there any way for me to do this? Or must I create the tables manually using SQL?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
temp_app/models.py
将 temp_app 添加到已安装的应用程序(确保目录中还有 init.py)
运行 Syncdb
从已安装的应用程序中删除 temp_app
temp_app/models.py
Add temp_app to installed apps (make sure you also have init.py in the dir)
Run Syncdb
Remove temp_app from installed apps
额头拍打时间
好的,这部分很关键:如果您确实从项目中的其他位置导入模型,而不是在正常的 models.py 文件中,请确保添加:
否则,模型将被忽略通过同步数据库!
我确实按照 Ted 所写的内容进行了一些尝试,但由于某种原因,直到我添加了
app_label
部分,syncdb 才能够创建模型。forehead slap time
Okay, so this part is key: if you do import models from elsewhere in your project, not within the normal models.py files, make sure you add:
Otherwise, the models will be ignored by syncdb!
I did try something along the lines of what Ted wrote but for some reason it wasn't until I added the
app_label
part that syncdb was able to create the models.