3

今日、小さな問題が発生しました。少しの調査で簡単に修正できましたが、誰かが同様のことをした場合に備えて、ここに投げたいと思いました.

私のアプリファイルのレイアウトは次のようでした:

>cart
-->Models
----> __init__.py
----> cart.py
----> items.py
--> __init__.py

models.pyしたがって、明らかに標準ファイルはありませんでした。python manage.py sqlall cartSQLコードを確認してSQL Serverデータベースに挿入するために実行したかったのです。問題は、そのコードを実行するたびに何も返されなかったことです。修正は何ですか?

4

1 に答える 1

2

models.pyファイルを探していて、見つけられず、Modelsサブモジュールだけを探しているので、それは理にかなっています。

各サブモデル項目でapp_labelを使用する必要があります。したがって、cart.pyitems.pyファイルの両方でMetaタグを編集して、次のようにする必要があります。

class Meta:
    app_label="cart"

これにより、このモデルがそのアプリに属していることを Django に明示的に伝えます。Django Docs が言うように、

モデルが標準の models.py の外に存在する場合 (たとえば、アプリのモデルが myapp.models のサブモジュールにある場合)、モデルはどのアプリの一部であるかを定義する必要があります。

次に、sqlall <app>コマンドも必要に応じて機能するはずです。

于 2013-07-12T15:27:00.093 に答える