Как определить модели с множественными отношениями в Google App Engine? - PullRequest
1 голос
/ 14 мая 2011

Я пишу приложение Google App Engine, которое имеет модель данных с несколькими отношениями.Я думаю, что я делаю это неправильно.Мое определение класса модели данных:

class Project(db.Model):
    name = db.StringProperty()
    description = db.TextProperty()
    admin = db.ReferenceProperty(Appuser)
    website = db.LinkProperty()
    members = db.ListProperty(db.key, default=None)
    start_date = db.DateTimeProperty(auto_add_now = True)

class Appuser(db.Model):
    user_id = db.UserProperty()
    fullname = db.StringProperty()
    website = db.LinkProperty()
    involved_projects = db.ListProperty(db.key, default=None)
    current_project = db.ReferenceProperty(Project)

Теперь, когда я пытаюсь выполнить это, я получаю сообщение об ошибке Appuser is not defined в файле.Это происходит потому, что класс Appuser определен после Project.Я не мог изменить порядок, поскольку класс Appuser также имеет свойство ReferenceProperty для класса Project. Я получил бы неопределенную ошибку для Project.Теперь, как правильно это реализовать.

1 Ответ

2 голосов
/ 15 мая 2011

Быстрое решение проблемы с циклической ссылкой - сбросить referance_class при определении admin в Project (на самом деле не требуется просто проверка)

class Project(db.Model):
    admin = db.ReferenceProperty()

Это не идеально, но должно решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...