使用表名检索Model对象

neh*_*iah 3 django django-models

我想Model在知道table_name的同时检索对象

例如:

class User(models.Model):
    class Meta:
        db_table = 'my_users_table'
Run Code Online (Sandbox Code Playgroud)

有没有办法Usermy_users_table输入为回报?

AKS*_*AKS 5

我想检索Model对象

我认为您的意思是Model类而不是对象。

我可以想到的一种可能的解决方案是获取所有模型并匹配db_table

from django.apps import apps
model = next((m for m in apps.get_models() if m._meta.db_table=='my_users_table'), None)
Run Code Online (Sandbox Code Playgroud)

如果没有使用给定db_table名称的模型,model则将为None