Как дважды сослаться на одну и ту же модель из другой?

Следующий код

class Translation(db.Model):
    origin = db.ReferenceProperty(Expression, required=True)
    target = db.ReferenceProperty(Expression, required=True)

вызывает следующую ошибку:

Traceback (последний вызов последним): Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 4053, в _HandleRequest self._Dispatch (диспетчер, self.rfile, outfile, env_dict) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 3977, в _Dispatch base_env_dict = env_dict) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 588, в Dispatch base_env_dict = base_env_dict) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 3050, в Dispatch self._module_dict) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 2954, в ExecuteCGI reset_modules = exec_script (путь-обработчика, cgi_path, ловушка) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 2834, в ExecuteOrImportScript exec module_code в script_module. dict Файл "D: \ svn \ language \ Web \ src \ controller.py", строка 5, в из импорта модели * Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 1505, в Decorate return func (self, * args, ** kwargs) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 2450, в load_module вернуть self.FindAndLoadModule (подмодуль, полное имя, путь_поиска) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 1505, в Decorate return func (self, * args, ** kwargs) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 2339, в FindAndLoadModule описание) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 1505, в Decorate return func (self, * args, ** kwargs) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ tools \ dev_appserver.py", строка 2282, в LoadModuleRestricted описание) Файл "D: \ svn \ language \ Web \ src \ model.py", строка 24, в Перевод класса (db.Model): Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ ext \ db__init __. Py", строка 500, в init _initialize_properties (cls, имя, базы, dct) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ ext \ db__init __. Py", строка 415, в _initialize_properties attr. property_config (класс_модели, имя_аттр) Файл "C: \ Program Files (x86) \ Google \ google_appengine \ google \ appengine \ ext \ db__init __. Py", строка 3461, в property_config self.collection_name)) DuplicatePropertyError: Выражение класса уже имеет свойство translation_set

Как обойти это ограничение?

5
задан Drew Sears 25 May 2011 в 14:35
поделиться