代码之家  ›  专栏  ›  技术社区  ›  Noah McIlraith

从mix-in继承分配的属性

  •  3
  • Noah McIlraith  · 技术社区  · 15 年前

    from google.appengine.ext import db
    
    class Taggable(object):
        tag_list = db.StringListProperty()
    
        def attach_tag(self, tag):
            self.tag_list.append(tag)
            self.put()
    
        def remove_tag(self, tag):
            self.tag_list.pop(self.tag_list.index(tag))
            self.put()
    
    class Post(db.Model, Taggable):
        title = db.TextProperty()
    

    这只是一个例子,没有必要对我的坏习惯或其他什么东西吹毛求疵。

    目前,我有类似的东西,除了我必须 tag_list = db.StringListProperty() 除了mix-in(否则会出错),这是一段混乱的代码,我想避免这样的情况。

    简单地说,我如何分配属性(例如 tag_list

    1 回复  |  直到 15 年前
        1
  •  2
  •   Paulo Scardine    15 年前

    标记不应该基于db.Model而不是对象吗?