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

GAE的model里面,怎么样实现get/set?

  •  
  •   wickila · 2011-08-20 14:46:31 +08:00 · 4459 次点击
    这是一个创建于 4604 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用的是python语言。想着改变一个实体的一个属性的时候,另外一个属性也同时改变?有没有办法实现像别的语言里面的get/set一样的?
    例如这样
    class A(db.model):
    x = db.StringProperty()
    y = db.StringProperty()

    def set x(value):
    x = value;
    y = value+1;
    在GAE的model里面能实现像这个set这样的功能吗
    4 条回复    1970-01-01 08:00:00 +08:00
    keakon
        1
    keakon  
       2011-08-25 14:31:36 +08:00
    可以用db.ComputedProperty,用法可以参考这里:
    https://bitbucket.org/keakon/doodle/src/7bd5fdb6acd2/zh-CN/model.py#cl-331
    wickila
        2
    wickila  
    OP
       2011-08-26 14:29:11 +08:00
    @keakon 这种方法确实能够部分的达到目的,但是如果想做set x的时候做更多更复杂的时候就不行了。不过还是学到了很多新东西,谢谢。
    keakon
        3
    keakon  
       2011-08-26 18:10:08 +08:00
    @wickila 你可以在lambda函数里调用函数的,比如check() && xxx
    wickila
        4
    wickila  
    OP
       2011-08-29 15:47:08 +08:00
    哦,了解了。非常感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3088 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:31 · PVG 22:31 · LAX 07:31 · JFK 10:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.