view.py
from .models import Banana, Mango
list = request.GET['fruit[]']
for x in list:
conn = x.objects.all()
print(conn.name)
在html文件中: 我使用复选框选择“芒果”和“香蕉”,然后view.py获得复选框的值。然后我要选择用户选择的模型。
当我运行此代码时,它会出现 / search的AttributeError 'str'对象没有属性'objects'。
在那段代码中,我想在我的模型中返回对象模型的名称值。py
如何替换List中的字符串以调用Django中的对象模型?
答案 0 :(得分:2)
将模型类本身放在列表中...
from .models import Banana, Mango
lst = [Banana, Mango] # do not call variable 'list'
# ...
...,您完全不需要进行任何字符串到模型的转换。
答案 1 :(得分:2)
如果必须从str
值加载模型,请使用django.apps.get_model()
帮助器
from django.apps import apps
Model = apps.get_model('app_name', 'model_name')
for element in Model.objects.all():
print(element)