今天遇到一个小问题。很容易通过一些研究来修复,但是想把它扔到这里,万一有人有类似的东西。
我的应用文件布局是这样的:
>cart
-->Models
----> __init__.py
----> cart.py
----> items.py
--> __init__.py
显然,我没有标准的models.py
文件。我想运行python manage.py sqlall cart
以查看sql代码以将其插入我的SQL Server数据库中。问题是,每次运行该代码时,它都没有返回任何内容。有什么问题?
答案 0 :(得分:2)
嗯,这是有道理的,因为它正在寻找一个models.py
文件,而不是找到一个,只有Models
子模块。
您必须在每个子模型项目上使用app_label。因此,cart.py
和items.py
文件都需要编辑其Meta
个标签:
class Meta:
app_label="cart"
这告诉Django该模型明确属于该应用程序。正如Django Docs所说,
如果模型存在于标准models.py之外(例如,如果 应用程序的模型在myapp.models的子模块中,模型必须 定义哪个应用程序是
的一部分
然后,sqlall <app>
命令也应该按照您的意愿运行。