model.pyファイルやmodelsディレクトリではなく、アプリの奥深くにモデルが埋め込まれたファイルがあります。
基本的には、レガシーデータベース上のテーブルを指すファイルであるため、別のファイルに入れました。
ただし、テストバージョンを設定しようとしているので、syncdbを介してすべてのテーブルを作成できる必要があります。
これを行う方法はありますか?または、SQLを使用して手動でテーブルを作成する必要がありますか?
model.pyファイルやmodelsディレクトリではなく、アプリの奥深くにモデルが埋め込まれたファイルがあります。
基本的には、レガシーデータベース上のテーブルを指すファイルであるため、別のファイルに入れました。
ただし、テストバージョンを設定しようとしているので、syncdbを介してすべてのテーブルを作成できる必要があります。
これを行う方法はありますか?または、SQLを使用して手動でテーブルを作成する必要がありますか?
temp_app/models.py
from my.deep.in.code.modelfile import model1
from my.deep.in.code.modelfile import model2
インストール済みのアプリに temp_app を追加します (ディレクトリにinit .py があることも確認してください)。
同期データベースを実行
インストール済みアプリから temp_app を削除する
額叩きタイム
さて、この部分が重要です: 通常の models.py ファイル内ではなく、プロジェクトの他の場所からモデルをインポートする場合は、必ず以下を追加してください:
class Meta:
app_label = 'foo'
そうしないと、モデルは syncdb によって無視されます!
Ted が書いた内容に沿って何かを試してみましたが、何らかの理由でapp_label
、syncdb がモデルを作成できる部分を追加するまではそうではありませんでした。