Форум сайта python.su
Есть файл model/__init__.py
Там обьявлены модели Artwork, Person.
У Artwork есть foreign key к Person:
class Artwork(db.Model, SimpleSerializeMixin): id = db.Column(db.Integer, primary_key=True) .... artist_id = db.Column(db.String(256), db.ForeignKey('person.sub')) artist = db.relationship('Person', backref='artworks')
class Person(db.Model, SimpleSerializeMixin): sub = db.Column(db.String(256), primary_key=True) ...
InvalidRequestError: When initializing mapper Mapper|Artwork|artwork, expression ‘Person’ failed to locate a name (“name ‘Person’ is not defined”). If this is a class name, consider adding this relationship() to the <class ‘model.Artwork’> class after both dependent classes have been defined.
Отредактировано Andrew_Lvov (Июль 1, 2014 20:11:16)
Офлайн
Andrew_LvovВы забыли, что код питона не читается без отступов, поэтому в том виде, в котором Вы его разместили никто в нем ковыряться не будет и Ваш вопрос останется без ответа.
Что я забыл сделать либо сделал не так ?
Офлайн
Поправил
Офлайн
Видимо, даже так вопрос останется без ответа )
Офлайн
Почему? Вопрос должен быть поставлен в другом разделе.
Если по-вопросу. Вообще странно. Должно работать. Попробуйте то-же напилить в чистой алхимии.
Офлайн
Andrew_Lvov
Видимо, даже так вопрос останется без ответа )
Отредактировано alexbadaloff (Июль 15, 2014 21:44:43)
Офлайн
Подозреваю проблемы конфликта методов/атрибутов у db.Model и SimpleSerializeMixin, для начала попробуйте их поменять местами в объявлении класса.
Офлайн
Если честно, я всегда думал, что на форуме спрашивают, когда совсем ничего не гуглится.
Но в данном случае куча таких же вопросов, да еще и с работающими ответами - клик
Отредактировано alexbadaloff (Июль 18, 2014 13:04:42)
Офлайн