开发者社区> 问答> 正文

在django中,如何使用字符串作为对象名来调用model??报错

想实现一个前端web表单提交一个字段,后台用这个字段作为数据库名,来显示数据库中信息

但是发现获得的字符串不能作为对象名,初学者请问有没方法把字符串转变成对象名?

以下是代码和报错

'str' object has no attribute 'objects'


##views.py##

def index(request):

    if 'node' in request.GET:
        node_name = request.GET['node']
    else:
        node_name = 'first_node'
sql_data = node_name .objects.all()

return render_to_response('health_all.html',{'sql_data ':sql_data })

展开
收起
爱吃鱼的程序员 2020-06-14 17:00:43 870 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    试试这样:

    importmyapp.modelsnode_name='my_test_node'cls=getattr(myapp.models,node_name)sql_data=cls.objects.all()



    2020-06-14 17:00:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载