Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django:使用字符串选择特定的模型_Django - Fatal编程技术网

django:使用字符串选择特定的模型

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()。我需

我想做的是能够使用模型的名称作为函数的输入,以便可以针对指定的模型执行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()。我需要一个模型对象,而不是字符串名称,以便
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)
>>> [...]

谢谢<代码>模型。获取模型解决我的问题。使跨多个数据表聚合数据变得更加容易。不客气。很高兴这有帮助。它还解决了循环导入问题;)谢谢<代码>模型。获取模型解决我的问题。使跨多个数据表聚合数据变得更加容易。不客气。很高兴这有帮助。它还解决了循环导入问题;)