Внедрение тегов в Google App Engine

Я прочитал аналогичный вопрос о добавлении тегов в модель блога Django, где упоминается поддержка тегов в статье в виде StringList и отдельного объекта для подсчета этих объектов, что хорошо, потому что я в основном сам придумал ту же идею, однако Я изо всех сил пытаюсь понять, как вести счет.

Я переопределяю метод put () основного объекта, но как мне проверить, изменились ли теги по сравнению с текущим сохраненным объектом? Есть ли способ дешево проверить существующие данные без получения второй копии объекта?

Один из способов справиться с этим - хранить каждый объект в кэше памяти и получать только те, которые он там не находит, но для загруженного сайта вы все равно будете довольно часто обращаться к хранилищу данных.


person Stuart Grimshaw    schedule 31.01.2010    source источник
comment
Если это все еще актуально для вас, вот сообщение в блоге, которое я написал о миксин для ndb.Model производных.   -  person Brian M. Hunt    schedule 04.04.2014


Ответы (1)


Ознакомьтесь с taggable-mixin. Это довольно простой способ добавить теги к любому классу модели AppEngine в виде миксина.

person Adam Crossland    schedule 31.01.2010
comment
Спасибо за ответ, Адам, мне нужно было немного поработать, чтобы заставить его работать под Django, но на самом деле этого было совсем немного. Я обновил прилагаемый к нему Tiddlywiki, добавив, что мне нужно было сделать, чтобы он заработал, и отправил его вам по почте. - person Stuart Grimshaw; 31.01.2010
comment
Стюарт! Большое спасибо! Это невероятно достойно с вашей стороны внести свой вклад в то, что вы обнаружили. - person Adam Crossland; 01.02.2010
comment
У taggable-mixin есть недостаток, заключающийся в том, что он сохраняет список всех помеченных сущностей в модели тегов. Если у вас много сущностей (подумайте о системе, такой как StackOverflow, например), сущность Tag взорвется. Лучше сохранить эту ссылку в тегируемой сущности - каждая сущность имеет список тегов. - person Eran Kampf; 13.09.2010