我需要为特定应用的所有模型检索表名和模型的contenttype id。我可以使用此代码获取模型的表名,但不其contenttype 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而不是表名。在第二种情况下从哪里获取表名?
答案 0 :(得分:1)
获取模型的内容类型的pk
from django.contrib.contenttypes.models import ContentType
ContentType.objects.get_for_model(model).pk
至run standalone Django script,参考posts或简单(通常有效)
DJANGO_SETTINGS_MODULE='project.settings' python script.py