Python 使用变量导入和使用django模型类

Python 使用变量导入和使用django模型类,python,django,Python,Django,我对python和django都是新手。 首先,我尝试使用标准django特性进行数据库查询。我不想使用原始SQL 我想要达到的目标: I want import and use Django Class dynamically by using variable 比如: 但上述代码不起作用。我知道这背后有一些坚实的原因,因为dynamic_var是一个字符串,而不是一个类/模型类。 但是我怎样才能做到这一点呢 dynamic_var = "Note" from .model import

我对python和django都是新手。 首先,我尝试使用标准django特性进行数据库查询。我不想使用原始SQL

我想要达到的目标:

I want import and use Django Class  dynamically by using variable
比如:

但上述代码不起作用。我知道这背后有一些坚实的原因,因为dynamic_var是一个字符串,而不是一个类/模型类。 但是我怎样才能做到这一点呢

dynamic_var = "Note"
from .model import Note

## Not work but i want to achieve 
info = dynamic_var.objects.all()

# Working
info = Note.objects.all() 

print(info)
错误


您可以使用以下样式访问模型:

从django.apps导入应用程序 列出您的\u模型的\u=应用程序。获取\u模型 然后您可以访问类,并可以在列表中找到您的特定模型throw iterate

在应用程序中还有另一种方法

my_model = apps.get_model('<APP_NAME>', '<MODEL_NAME>')

您可以使用以下样式访问模型:

从django.apps导入应用程序 列出您的\u模型的\u=应用程序。获取\u模型 然后您可以访问类,并可以在列表中找到您的特定模型throw iterate

在应用程序中还有另一种方法

my_model = apps.get_model('<APP_NAME>', '<MODEL_NAME>')

您可以使用get_模型并将动态_变量作为字符串参数传递

# models.py
dynamic_var = "Note"

# other file
from .models import dynamic_var
from django.db.models import get_model
model = get_model('myapp', dynamic_var)
model.objects.all()

您可以使用get_模型并将动态_变量作为字符串参数传递

# models.py
dynamic_var = "Note"

# other file
from .models import dynamic_var
from django.db.models import get_model
model = get_model('myapp', dynamic_var)
model.objects.all()
从django.apps导入应用程序 def名称_视图请求: 模型=应用程序。获取模型'name\u app','name\u model' models=models.objects.all 从django.apps导入应用程序 def名称_视图请求: 模型=应用程序。获取模型'name\u app','name\u model' models=models.objects.all
你能分享一个例子吗?我如何在迭代中进行标准的django查询。像objects.all或一些CRUD操作my_model=[x for x in list_of_models如果x.u name_uu==Note][0],那么你可以使用my_model.objects获取对象。多谢了,你的两个技巧都很有效,最后一个问题是记录的有效/最佳方式。请分享一个例子。我如何在迭代中进行标准django查询。像objects.all或一些CRUD操作my_model=[x为x在_模型列表中如果x.u name_uu==Note][0]那么你可以使用my_model.objects获取对象。多谢你的两个技巧都很有效,最后一个问题是这是有效的/最好的方法吗