Как выключить Усилитель DataNucleus при работе с Google App Engine

Согласно документации Pickle , вы можете предоставить метод с именем __getstate__(), который возвращает что-то, представляющее состояние, которое вы хотите мариновать (если оно не предоставлено, pickle использует thing.__dict__ ]). Таким образом, вы можете сделать что-то вроде этого:

class Thing:
      def __getstate__(self):
            state = dict(self.__dict__)
            del state['cachedBar']
            return state

Это не должно быть диктом, но если это что-то другое, вам также нужно реализовать __setstate__(state).

14
задан David Underhill 24 April 2010 в 16:34
поделиться

3 ответа

Вы можете ограничить, какие классы DataNucleus отслеживает изменения, чтобы он повторно запускал улучшение только тогда, когда классы вашей модели действительно изменяются.

Перейдите в свойства проекта и выберите Google-> Приложение Двигатель-> Орм. Здесь вы можете указать шаблоны для файлов, которые нужно отслеживать.

Например, я помещаю все компоненты моей модели в подкаталог model /, поэтому мне подходит шаблон src / ** / model. Также есть примеры шаблонов в диалоговом окне «Добавить».

30
ответ дан 1 December 2019 в 07:27
поделиться

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

3
ответ дан 1 December 2019 в 07:27
поделиться

Это не решит проблему фокусировки, но снизит частоту запуска энхансера:

Вы может настроить усилитель только на улучшение определенных файлов. Вы можете указать шаблон на основе пакетов или имени класса. Чтобы указать шаблон, щелкните меню проекта, затем свойства, затем Google, затем движок приложений, затем ORM. Если вы присваиваете своим постоянным классам общий суффикс, вы можете указать такой шаблон, как «* Entity.java»

3
ответ дан 1 December 2019 в 07:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: