django:使用字符串选择特定的模型
我想做的是能够使用模型的名称作为函数的输入,以便可以针对指定的模型执行objects方法。例如:django:使用字符串选择特定的模型,django,Django,我想做的是能够使用模型的名称作为函数的输入,以便可以针对指定的模型执行objects方法。例如: from app.models import model1, model2 def select_all_from_model(model_name): all = model_name.objects.all() return all all = select_all_from_model('model1') all=model\u name.objects.all()。我需
from app.models import model1, model2
def select_all_from_model(model_name):
all = model_name.objects.all()
return all
all = select_all_from_model('model1')
all=model\u name.objects.all()。我需要一个模型对象,而不是字符串名称,以便objects.all()
选择才能工作。如何基于model\u name
的字符串值加载模型对象?您可以使用模型。get\u model()函数:
>>> model_class = models.get_model('App', 'Model1')
>>> model_class.objects.all()
>>> [...]
如果你需要使用字符串。但是您可以在python中传递类。下面是一个例子:
>>> from app.models import Model1
>>> select_all_from_model(Model1)
>>> [...]
您可以使用模型。get_model()函数:
>>> model_class = models.get_model('App', 'Model1')
>>> model_class.objects.all()
>>> [...]
如果你需要使用字符串。但是您可以在python中传递类。下面是一个例子:
>>> from app.models import Model1
>>> select_all_from_model(Model1)
>>> [...]
谢谢<代码>模型。获取模型解决我的问题。使跨多个数据表聚合数据变得更加容易。不客气。很高兴这有帮助。它还解决了循环导入问题;)谢谢<代码>模型。获取模型解决我的问题。使跨多个数据表聚合数据变得更加容易。不客气。很高兴这有帮助。它还解决了循环导入问题;)