首页 > 解决方案 > 如何在 Django 中将字符串转换为调用模型的名称?

问题描述

视图.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 'str' 对象出现 AttributeError 没有属性 'objects'。

在那段代码中,我想在我的 models.py 中返回对象模型的名称值

如何替换 List 中的字符串以在 django 中调用对象模型?

标签: pythondjangodjango-modelsdjango-views

解决方案


如果必须从str值加载模型,请使用django.apps.get_model()helper

from django.apps import apps

Model = apps.get_model('app_name', 'model_name')
for element in Model.objects.all():
    print(element)

推荐阅读