我在一个应用程序中有很多模型。我需要基于相应的值对其进行迭代。例如:
for x in dictionary:
h = x.get() #line to get value from dictionary
q = h.objects.get(user=name)
其中h是模型的字符串变量名称,q是所需的查询集
答案 0 :(得分:0)
您必须创建其他字典,该字典将可能的输入字符串映射到实际模型类,例如,您要在User model中查询字符串'user'。因此,您创建了models_mapping = {'user':User}。然后在循环中,您可以编写
model = models_mapping[h]
q = model.objects.get(user=name)
目前尚不清楚您在该词典中拥有什么以及x.get()是什么,但是希望这将指导您朝着正确的方向发展。
答案 1 :(得分:0)
django中提供了一个get_model
方法,可以完成此任务。可以使用如下:
def get_model(self, app_label, model_name, seed_cache=True):