Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » [flask] Ошибка при работе с отношениями между таблицами [RSS Feed]

#1 Июль 1, 2014 19:49:37

Andrew_Lvov
Зарегистрирован: 2013-03-05
Сообщения: 19
Репутация: +  1  -
Профиль   Отправить e-mail  

[flask] Ошибка при работе с отношениями между таблицами

Есть файл 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')

И сам Person:
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)

Офлайн

#2 Июль 1, 2014 20:08:56

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

[flask] Ошибка при работе с отношениями между таблицами

Andrew_Lvov
Что я забыл сделать либо сделал не так ?
Вы забыли, что код питона не читается без отступов, поэтому в том виде, в котором Вы его разместили никто в нем ковыряться не будет и Ваш вопрос останется без ответа.
Форма редактирования вопроса на python.su имеет развитый функционал для оформления кода. Воспользутесь им.



Офлайн

#3 Июль 1, 2014 20:11:29

Andrew_Lvov
Зарегистрирован: 2013-03-05
Сообщения: 19
Репутация: +  1  -
Профиль   Отправить e-mail  

[flask] Ошибка при работе с отношениями между таблицами

Поправил

Офлайн

#4 Июль 4, 2014 09:41:03

Andrew_Lvov
Зарегистрирован: 2013-03-05
Сообщения: 19
Репутация: +  1  -
Профиль   Отправить e-mail  

[flask] Ошибка при работе с отношениями между таблицами

Видимо, даже так вопрос останется без ответа )

Офлайн

#5 Июль 4, 2014 22:15:22

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

[flask] Ошибка при работе с отношениями между таблицами

Почему? Вопрос должен быть поставлен в другом разделе.
Если по-вопросу. Вообще странно. Должно работать. Попробуйте то-же напилить в чистой алхимии.


Офлайн

#6 Июль 15, 2014 21:43:43

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

[flask] Ошибка при работе с отношениями между таблицами

Andrew_Lvov
Видимо, даже так вопрос останется без ответа )

Поменяйте последовательность объявлений классов в коде.
Банально объявите класс Person до Artwork



————————–
Истина где-то рядом

Отредактировано alexbadaloff (Июль 15, 2014 21:44:43)

Офлайн

#7 Июль 18, 2014 08:23:01

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

[flask] Ошибка при работе с отношениями между таблицами

Подозреваю проблемы конфликта методов/атрибутов у db.Model и SimpleSerializeMixin, для начала попробуйте их поменять местами в объявлении класса.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#8 Июль 18, 2014 13:04:29

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

[flask] Ошибка при работе с отношениями между таблицами

Если честно, я всегда думал, что на форуме спрашивают, когда совсем ничего не гуглится.
Но в данном случае куча таких же вопросов, да еще и с работающими ответами - клик



————————–
Истина где-то рядом

Отредактировано alexbadaloff (Июль 18, 2014 13:04:42)

Офлайн

  • Начало
  • » Web
  • » [flask] Ошибка при работе с отношениями между таблицами[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version