2006年09月13日 星期三 19:54
i·m§qÖq¦ÜuÖH ¦§ú+j)ìzË"¢z®z¼±é^r×趢¦Ú¦¸§µ¶u¦Üªix¢¶¢Ç¬²*'ªç«Èç-~Ûj)Úm§èÆÚvÚq¶©®)íq¶Áææj^®f©¥êç{ij»@tÌ-«miÈfz{pjË®æÛyÕ.m§ÿéÊØhÉÿ¦*^®f¢úr¶'r§zÇ¿jÛZrÛ?ÛM:ÓÝwÿ·uᄎóöµ§!éíÙ¥
2006年09月13日 星期三 22:56
> > a, b,c两两是多对多的关系(对应的表为ab,ac,bc) > 并且d对应到a,b,c不同的组合(相应的表位abcd) 看得很晕啊,能不能把 a,b,c 换成有意义一点的词语,方便理解一些。 -- http://codeplayer.blogspot.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://python.cn/pipermail/python-chinese/attachments/20060913/2d3e75b8/attachment.html
2006年09月14日 星期四 09:32
-_- 类似这样的例子: article, reader, comment, comment_date 主键分别是article_id, reader_id, comment_id, comtdate_id 每个article可以有多个reader;每个reader可以读多篇文章 所以article和reader之间是多对多的,有一个表article_reader描述他们的关系 类似的comment和reader, article和comment都是多对多 而不同的article_id, reader_id, comment_id对应唯一的comtdate_id (在一个表artcle_assoc里面保存) 而我想按照article, reader, comment分类显示comment_date 首先,想得到article得到对应所有的reader, 然后想得到这篇article,其中每个reader的所有comment和comment_date article和reader的关系可以用一般的多对多mapping解决 mapper(Article, article, properties={ 'readers': relation(Reader, secondary=article_reader_table)}) as = session.query(Article).select() for reader in as[0].readers: print reader.reader_name 类似的,想让comment能这样获得 for reader in as[0].readers: for comment in reader.comments: pritn comment.content 但是这样得到的comment是当前reader在不同article下的所有comment 而不是特定article下的 因为,我在第一个mapping中只传递了Reader这个表 所以我想,要得到想要的效果需要做这样的mapping mapper(Aritcle, article, properties={ 'article_reader': relation(ArticleReader, ...}) # 具体怎么写真是我想请教的 将aricle的连接也传到aritcle_reader中 这样就可以通过 as[0].article_readers[0].comments得到article下,一个reader的comment了 不知道这样的mapping能不能实现 我觉得我的思路应该是对的,但是对orm不是很熟悉:( 请教大家乐
2006年09月14日 星期四 10:39
jË(r&á¶Úÿ0²©ZÈ^*+÷hrÏÝjÖ¦jb ²µÖjf©¦)àjË(r&á¶Úÿ0²©ZÈ^*+÷hrÏÝjÖ¦jb ²µÖjf©¦)àjË(r&ß®¬ªV¥r¦Ê)©¢»fzÖ
2006年09月14日 星期四 15:43
huang,你好 我上面举出的例子有点问题, 不过实在想不出什么通俗的例子了,只好把我遇到的问题摆出来了 希望还比较好理解 我有一个表image,存储了卫星云图 另外还有三个两两之间是多对多关系的表: 表satellite,里面是所有类型的卫星的代号 表region,是卫星云图包含的地区 表type,是卫星云图的类型,包括可见光云图,红外云图等等 而表image实际是与satellite, region, type相关联的"three-way association" satellite_table = Table('satellites', metadata, Column('satellite_id', Integer, primary_key=True), Column('satellite_tag', String), ) region_table = Table('regions', metadata, Column('region_id', Integer, primary_key=True), Column('region', String) ) type_table = Table('types', metadata, Column('type_id', Integer, primary_key=True), Column('type', String), ) image_table = Table('images', metadata, Column('image_id', Integer, primary_key=True), Column('image', String), ) image_assoc = Table('image_assoc', meta, Column('satellite_id', Integer, ForeignKey('satellites.satellite_id')), Column('region_id', Integer, ForeignKey('regions.region_id')), Column('type_id', Integer, ForeignKey('types.type_id')), Column('image_id', Integer, ForeignKey('images.image_id')), ) ... 现在我想通过mapping使得得到的对象为如下的结构: satellite1 - type1 - region1 -> image1 - region2 -> image2 - type2 - region2 -> image3 - region3 -> image4 - region4 -> image5 satellite2 - type2 - region3 -> image6 - type3 - region3 -> image7 - region4 -> image8 - type4 - region2 -> image9 ... 这样的mapping能用SA实现吗? On 9/14/06, yi huang <yi.codeplayer at gmail.com> wrote: > 使用 association 就可以搞定 > 是这个效果吗?
Zeuux © 2025
京ICP备05028076号