📅  最后修改于: 2023-12-03 14:40:47.659000             🧑  作者: Mango
在 Django 中,可以通过以下方法获取所有定义的模型:
from django.apps import apps
models = apps.get_models()
这个方法会返回所有应用程序中定义的模型的一个 QuerySet。
如果想获取某个应用程序下的所有模型,则可以使用以下代码:
from django.apps import apps
myapp = apps.get_app_config('myapp')
models = myapp.get_models()
这个方法会返回指定应用程序下的所有模型的一个 QuerySet。
通过遍历 QuerySet 中的每个模型,可以获取模型的名称、相关的表名、字段等信息:
for model in models:
print(f"Model name: {model.__name__}")
print(f"Table name: {model._meta.db_table}")
print(f"Fields: {model._meta.get_fields()}")
其中, model.__name__
获取模型的名称, model._meta.db_table
获取与模型关联的表名, model._meta.get_fields()
获取模型的所有字段,返回一个字段列表。
此外,还可以使用 model._meta.fields
获取包含所有字段的列表,或者使用 model._meta.get_field(field_name)
获取特定字段。
以上就是 Django 获取所有模型的方法和示例代码。