Наследование назначенных свойств из дополнения - PullRequest
3 голосов
/ 02 ноября 2010

Я хотел бы использовать смешанный класс для добавления свойств в модель.

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() вне смешивания (ошибки в противном случае), это грязный код, и я хотел бы избежать этого.

Проще говоря, как я могу назначить свойства (например, tag_list) для модели из дополнительного набора?

1 Ответ

2 голосов
/ 02 ноября 2010

Разве Taggable не должен основываться на db.Model вместо объекта?

...