Найти - Пользователи
Полная версия: SQLAlchemy, примари кей по нескольким полям, nullable
Начало » Базы данных » SQLAlchemy, примари кей по нескольким полям, nullable
1
Nuclon
Возникла вот такая проблема. есть таблица:
votes_table = Table('votes', metadata,
Column('user_id', Integer, ForeignKey('users.id'), nullable=False),
Column('post_id', Integer, ForeignKey('posts.id'), nullable=True),
Column('comment_id', Integer, ForeignKey('comments.id'), nullable=True),
Column('timestamp', DateTime(), nullable=False, default=func.current_timestamp()),
Column('value', Integer, nullable=False, default=0)
)
Есть маппер:
Vote.mapper = Session.mapper(Vote, votes_table,
primary_key = [ votes_table.c.user_id, votes_table.c.post_id, votes_table.c.comment_id ],
properties = {
'user': relation(User),
'comment': relation(Comment),
'post': relation(Post)
}
)
Vote.query.all() выдает в любом случае пустой массив, даже если в таблице есть записи.

wtf? :/ как-нибудь бороться с этим можно? не хочется вводить поле id в таблице, быть может есть другой выход?
Андрей Светлов
Что-то странное. Делал таблицы с составными ключами - и все работало.
А что print Vote.query выдает?
А что это за сессия у тебя, интересно очень. Непомню, чтобы mapper через Session.mapper делался…
Nuclon
print Vote.query
< sqlalchemy.orm.scoping.query object at 0x8a9920c >

ммм, где-то вычитал в доках по Пилону. сейчас попробую найти, где именно…
Nuclon
http://www.sqlalchemy.org/docs/04/session.html#unitofwork_contextual_associating
нашел. :)

но не суть, в общем то.
идей все-таки нету?
Андрей Светлов
Ясно. Я про scoped query подзабыл.
Идей нет. Нужно поотлаживать - иначе ничего не скажу.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB