如何在Django视图中动态传递模型类名称

时间:2019-10-28 15:56:29

标签: django

“”“请,我在django app.models中创建了一些模型类。 我想根据请求访问视图中任何模型的对象。

我的视图如下:

def profile(request, course):
    Course_name = course
    Contents = model.objects.get()
    context = {obj: contents}
    return render(request, "pro.html", context) 

“”“我的问题是,我想用变量” course_name“替换model.objects.get()中的模型 但是出现此错误时,“ str”对象没有属性“ objects” 请帮助“”“

1 个答案:

答案 0 :(得分:-1)

尝试使用eval(model).objects代替model.objects

问题是您试图从无效的字符串对象中读取objects属性。您应该首先尝试获取其名称等于model字符串的值的类,而eval是做到这一点的方法。

警告: 您要使用eval访问的类在代码范围内应该可见。因此,导入您可能需要使用的所有可能的模型,并将代码放在try except块中

我希望这能回答您的问题

相关问题