V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lanqing
V2EX  ›  问与答

如何用字符串名代替函数名字?(描述的不好)

  •  1
     
  •   lanqing · 2018-10-10 17:45:00 +08:00 · 1729 次点击
    这是一个创建于 2262 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原来语句:models.mysqlname.objects.filter...... 我想用一个字符串 s = 'mysqlname' 然后 models.s.objects.filter....... 这个该怎么实现呀?

    求教大佬 = =,

    7 条回复    2018-10-11 08:27:52 +08:00
    bigboss519
        1
    bigboss519  
       2018-10-10 18:35:37 +08:00
    python: getattr(models, s).objects.filter
    santom
        2
    santom  
       2018-10-10 20:31:42 +08:00
    对于变量应该可以试试 somThing[varObj] 这种方式
    shintendo
        3
    shintendo  
       2018-10-10 20:31:47 +08:00
    js: models[s].objects.filter
    ysc3839
        4
    ysc3839  
       2018-10-11 00:07:47 +08:00 via Android
    不说清楚什么语言?
    ngg0707
        5
    ngg0707  
       2018-10-11 00:18:12 +08:00 via iPhone
    反射?
    msg7086
        6
    msg7086  
       2018-10-11 01:01:46 +08:00
    元编程?反射?何必自讨苦吃呢。
    imn1
        7
    imn1  
       2018-10-11 08:27:52 +08:00
    这个叫动态加载,搜索时可用
    动态定义变量、动态加载模块……

    dynamic vars / dynamic modules ...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3447 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:48 · PVG 18:48 · LAX 02:48 · JFK 05:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.