Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

just one row from sqlalchemy

import re
from sqlalchemy import *

db = create_engine('sqlite:///code.db')

db.echo = True

metadata = MetaData(db)

halo4 = Table('emblem_codes', metadata, autoload=True)

#########################
## Get One Unused Code ##
#########################

s = select([halo4.c.code, halo4.c.status=='None'])
result = s.execute()

for row in result:
    print row

My code returns all 80999 results. I only want one. Whats the best way to do this?

This a sample of code.db:

(u'JRQRY-MYHW3-D67GR-7YWFF-CRJ31', None)
(u'9D7DR-4WFDY-VG49F-3DYCG-7DYT5', None)
(u'QR9WT-P3CTM-PW4WW-34JJ4-RFKV7', None)
(u'7FMXQ-H97TC-FFYC6-XHXFV-Y7KR2', None)
(u'VKHXW-29WC4-4PF4Y-2QMJ4-4W2H4', None)
like image 678
David Vasandani Avatar asked Nov 03 '12 01:11

David Vasandani


1 Answers

If you want to get just one row from a ResultProxy object (which is the result of your s.execute() statement, you need to use the fetchone() method:

s = select([halo4.c.code, halo4.c.status=='None'])
result = s.execute()
one_row = result.fetchone()
another_row = result.fetchone()
like image 71
Pedro Romano Avatar answered Oct 22 '22 17:10

Pedro Romano