私のDjangoアプリケーションでは、特定のユーザー入力によって新しいモデルが作成されます。ここでは、モデルを作成して登録するために使用しているコードを示します。私は、管理者ページの表を参照するためにモデルをクリックするとDjango:実行時に作成された動的モデルを移行する方法
model = type(model_name, (ExistingModel,), attrs)
admin.site.register(model, admin_options)
from django.core.urlresolvers import clear_url_caches
from django.utils.module_loading import import_module
reload(import_module(settings.ROOT_URLCONF))
clear_url_caches()
これが正常に新しいモデルを作成しますが、しかし、私は次のエラーを取得する:
relation "ExistingModel_NewModel" does not exist
これは通常、新しいことを意味しモデルの変更は移行されていません。 Djangoで動的に作成されたモデルを移行して、対応するデータテーブルを表示するにはどうすればよいですか?
まず感謝:私は、動的モデルを作成した後、そのような
makemigrations
とmigrate
管理コマンドを実行してしまいました!それは私の問題を完全に理解していることを示していますだから私はURLを再ロードする前にこれを一度追加した(登録後)と一度リロードした後に。どちらの場合も、同じエラーが表示されます。私はそれを間違っているのですか? – cookiedoughstdoutとstderr変数の出力をチェックしましたか? –