0

django syncdb はどのように機能しますか?

私のプロジェクトでは、admins.py をプロジェクトのルート フォルダーに配置しました。

フォルダ構成はこちら

src
 |
 ----proj1
 |    |
 |    -------- settings.py
 |    -------- urls.py
 |
 ----forum
      |
      -------- admins.py
      -------- models.py
      -------- views.py

ここでフォーラムは django アプリです。proj1 はルートです。

syncdb を実行しようとすると、次の出力が得られます。

Installed 0 object(s) from 0 fixture(s)

データベースを作成するために、このsyncdbがどのように機能するか(実行する一連の手順は何ですか)を教えてもらえますか? ここでは、forum->models.py に従ってテーブルを作成していません。INSTALLED_APPS と admin.site.register() 以外の場所に言及する必要がありますか?

4

2 に答える 2

2

Syncdb基本的に、すべてのアプリのデータベース テーブルを作成し、アプリケーションにロードする必要がある可能性のある「フィクスチャ」(初期データ) をロードします。

たとえば、特定のオブジェクトの「カテゴリ」に必須フィールドがあり、ユーザーが変更できない場合があります。それらをフィクスチャとしてロードできます。

このメッセージInstalled 0 object(s) from 0 fixture(s)は、この特定のモデルにはフィクスチャが提供されていないことを示しています。

備品について詳しくはこちら

syncdbのソースを見ると、テーブルが作成されてからload_initial_data呼び出されていることがわかります。

于 2013-06-13T19:14:04.327 に答える