Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 8, 2007 09:17:40

Nuclon
От:
Зарегистрирован: 2007-10-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy, примари кей по нескольким полям, nullable

Возникла вот такая проблема. есть таблица:

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 в таблице, быть может есть другой выход?



Офлайн

#2 Окт. 8, 2007 15:05:23

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

SQLAlchemy, примари кей по нескольким полям, nullable

Что-то странное. Делал таблицы с составными ключами - и все работало.
А что print Vote.query выдает?
А что это за сессия у тебя, интересно очень. Непомню, чтобы mapper через Session.mapper делался…



Офлайн

#3 Окт. 8, 2007 17:15:06

Nuclon
От:
Зарегистрирован: 2007-10-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy, примари кей по нескольким полям, nullable

print Vote.query
< sqlalchemy.orm.scoping.query object at 0x8a9920c >

ммм, где-то вычитал в доках по Пилону. сейчас попробую найти, где именно…



Офлайн

#4 Окт. 8, 2007 21:00:03

Nuclon
От:
Зарегистрирован: 2007-10-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy, примари кей по нескольким полям, nullable

http://www.sqlalchemy.org/docs/04/session.html#unitofwork_contextual_associating
нашел. :)

но не суть, в общем то.
идей все-таки нету?



Офлайн

#5 Окт. 8, 2007 22:00:39

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

SQLAlchemy, примари кей по нескольким полям, nullable

Ясно. Я про scoped query подзабыл.
Идей нет. Нужно поотлаживать - иначе ничего не скажу.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version