Hi,

This is on Python 2.5.5 with SQLObject 0.11.0 and MySQL  5.1.41-3 (on
Debian Squeeze).

I'm a little mystified about the SQLBuilder subselector NOTIN(). I
have the following MySQL query:

SELECT db_stock_code FROM stock WHERE
    (db_stock_code LIKE "XXX%")
    AND (id NOT IN (SELECT db_stock_id FROM cont_item));

...which works for me. "stock" is a very simple table (no joins or
anything), and "cont_item" is like:

class ContItem (SQLObject) :
    dbCont = ForeignKey('Cont')
    dbStock = ForeignKey('Stock')
    dbQuantity = IntCol()

(The actual table has "db_stock_id" and "db_cont_id" columns.) I tried
to use this SQLBuilder expression:

my_selection = dbase.Stock.select(
                    sqlobject.sqlbuilder.AND(
                        dbase.Stock.q.dbStockCode.startswith("XXX"),
                        sqlobject.sqlbuilder.NOTIN(
                                sqlobject.sqlbuilder.Outer(dbase.Stock).q.id,

sqlobject.sqlbuilder.Select(dbase.ContItem.q.dbStock,

dbase.ContItem)))

...but when it executes, I get:

[coming from that last line of my expression above]
  File "/usr/lib/python2.5/site-packages/sqlobject/main.py", line
1365, in select
    join=join, forUpdate=forUpdate)
  File "/usr/lib/python2.5/site-packages/sqlobject/sresults.py", line
36, in __init__
    for table in clauseTables:
TypeError: iteration over non-sequence

I'd like to point out that (a) the whole SELECT statement above
returns a few hundred results, and (b) the second clause to AND does
exclude some entries.

Please CC me on replies :)

Cheers,
Jason

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to