zoukankan      html  css  js  c++  java
  • Python 通过字符串调用函数、接近属性

    需求:传入的是函数名、属性名,想通过字符串调用函数,接近属性。

    通过字符串接近、变动属性

    变量:model_name, field_name

    # 获取 model
    model = AppConfig.get_model(model_name)
    # 获取 field_name 的值
    getattr(model, field_name)
    # 变动 field_name 对应的值,比如 + 1
    
    # 使用 Django F
    from django.db.models import F
    
    reporter = Reporters.objects.get(name='Tintin')
    reporter.stories_filed = F('stories_filed') + 1
    reporter.save()
    # 那么使用字符串如何实现上面的
    # 查找 setattr 方法帮助
    # setattr(x, 'foobar', 123) is equivalent to x.foobar = 123.
    setattr(model, field_name) =  F(field_name) + 1

    连接 django 的 Q

    from django.db.models import Q
    
    query = Q()
    for entry in a:
        query = query | Q(my_field__contains=entry)
    

      

  • 相关阅读:
    C++实现高斯滤波器
    移动通信
    最简单的DLL
    C/C++ 编译和链接过程
    Servlet 详解
    对 Java 集合的巧妙利用
    Java 泛型
    Java 字符编码与解码
    HTTP 400 错误
    a 标签的四种样式
  • 原文地址:https://www.cnblogs.com/jay54520/p/6637976.html
Copyright © 2011-2022 走看看