Я пытаюсь использовать кэш мензурки с SQLAlchemy, но получаю ошибки.
Вот мои определения таблиц.
class Post(Base):
....
....
user = relation(User, primaryjoin = User.id == id)
tags = relation('Tags', backref = 'posts')
class Tags(Base):
...
...
user = relation(User, primaryjoin = User.id == id)
post = relation(Post, primaryjoin = Post.id == id)
кэш мензурки работает с другими классами SQLAlchemy, кроме этих.
Когда я запускаю программу, я получаю следующую ошибку:
DetachedInstanceError: Parent instance <Post at 0x101f90b10> is not bound to a Session; lazy load operation of attribute 'user' cannot proceed.
Я искал на StackOverFlow и нашел в другом потоке, что мне нужно отключить отложенную загрузку, поэтому я изменил строку
user = relation(User, primaryjoin = User.id == id)
до
user = relation(User, primaryjoin = User.id == id, lazy='dynamic')
но это происходит со следующей ошибкой в шаблоне (post.user.fullname
);
AttributeError: 'AppenderQuery' object has no attribute 'fullname'
Что я делаю не так?