我正在编写一个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错误。现在如何正确实现这一点。
答案 0 :(得分:2)
循环引用问题的快速修复是在Project
中定义admin时删除referance_class(实际上不需要验证)。
class Project(db.Model):
admin = db.ReferenceProperty()
这不是理想的,但应解决问题。