0

特定のアプリのすべてのモデルについて、テーブル名とモデルの contenttype id を取得する必要があります。このコードを使用してモデルのテーブル名を取得できますが、コンテンツ タイプ IDは取得できません。

from django.db.models import get_app, get_models
app = get_app("my_app_name")
for model in get_models(app, include_auto_created=True):
    print model._meta.db_table

ただし、この情報をデータベースから直接取得する必要があります。何かのようなもの:

Select id, model from django_content_type where app_label='my_app_name'

この場合、id を取得しますが、テーブル名は取得しません。2番目のケースでテーブル名を取得する場所は?

4

1 に答える 1

1

モデルの contenttype の pk を取得するには

from django.contrib.contenttypes.models import ContentType
ContentType.objects.get_for_model(model).pk

スタンドアロンの Django script、 refsの投稿、または単に (通常は動作します)を実行するには

DJANGO_SETTINGS_MODULE='project.settings' python script.py
于 2012-05-01T05:56:53.767 に答える