我正在学习本教程。瓶 - 数据创建
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-vi-profile-page-and-avatars
我在第6部分,但我犯了一个错误,并删除数据库。
我回到了部分4
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database
我已经重新创建数据库的脚本db_create.py
和迁移它。
但是,我试图添加几行数据。我没有高于这个
from app import db, models
线是确定
但是我加入这一行u = models.User(nickname='john', email='[email protected]')
突然,我有错误(请参阅下面的轨迹)。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 2, in __init__
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/orm/instrumentation.py", line 324, in _new_state_if_none
state = self._state_constructor(instance, self)
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 725, in __get__
obj.__dict__[self.__name__] = result = self.fget(obj)
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/orm/instrumentation.py", line 158, in _state_constructor
self.dispatch.first_init(self, self.class_)
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/event/attr.py", line 260, in __call__
fn(*args, **kw)
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/orm/mapper.py", line 2702, in _event_on_first_init
configure_mappers()
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/orm/mapper.py", line 2598, in configure_mappers
mapper._post_configure_properties()
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/orm/mapper.py", line 1696, in _post_configure_properties
prop.init()
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/orm/interfaces.py", line 144, in init
self.do_init()
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/orm/relationships.py", line 1550, in do_init
self._process_dependent_arguments()
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/orm/relationships.py", line 1606, in _process_dependent_arguments
self.target = self.mapper.mapped_table
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 725, in __get__
obj.__dict__[self.__name__] = result = self.fget(obj)
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/orm/relationships.py", line 1523, in mapper
argument = self.argument()
File "/home/andy.kwok/microblog/flask/lib/python2.7/site-packages/sqlalchemy/ext/declarative/clsregistry.py", line 283, in __call__
(self.prop.parent, self.arg, n.args[0], self.cls)
sqlalchemy.exc.InvalidRequestError: When initializing mapper Mapper|User|user, expression 'Post' failed to locate a name ("name 'Post' is not defined"). If this is a class name, consider adding this relationship() to the <class 'app.models.User'> class after both dependent classes have been defined.
为什么?
帮助,我拉我的头发!
嗨@adarsh,你钉了它的权利。 'models.py'中的这一行导致了一个问题:'posts = db.relationship('Post',backref ='author',lazy ='dynamic') '。一旦我评论这条线,事情就很好。 – 2015-03-31 10:54:14