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