“”“请,我在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” 请帮助“”“
答案 0 :(得分:-1)
尝试使用eval(model).objects
代替model.objects
问题是您试图从无效的字符串对象中读取objects
属性。您应该首先尝试获取其名称等于model
字符串的值的类,而eval
是做到这一点的方法。
警告:
您要使用eval
访问的类在代码范围内应该可见。因此,导入您可能需要使用的所有可能的模型,并将代码放在try except
块中
我希望这能回答您的问题