you're doing this: data = {} data['type'] = 'some type'
class Foo(object): pass ol = Foo() ol.type = data['type'], print ol.type its a tuple, lose the ',' On Sep 30, 2010, at 6:42 PM, phasma wrote: > at: > ol.type = data['type'], > print type(data['type']) > > returns str > > > print ol.__dict__ > > returns: > > {u'has_tire_shop': (False,), u'gps_lat': ('2',), '_sa_instance_state': > <sqlalchemy.orm.state.InstanceState object at 0x7fcc6002b0d0>, > u'name': ('2',), u'has_fitness': (False,), u'has_another': '', > u'has_cafe': (False,), u'has_restaurant': (False,), u'has_canteen': > (False,), u'has_payment_terminal': (False,), u'has_bank': (False,), > u'has_parking': (False,), u'address': ('2',), u'has_minibank': > (False,), u'has_car_washer': (False,), u'gps_lng': ('2',), u'type': > ('office',), u'_class': ('A',), u'has_beauty_salon': (False,)} > > > > On Oct 1, 2:19 am, Michael Bayer <mike...@zzzcomputing.com> wrote: >> dont send tuples as bind parameters for scalar attributes. one or more >> members of your "data" dictionary are tuples. >> >> On Sep 30, 2010, at 6:12 PM, phasma wrote: >> >> >> >>> If add to sqlalchemy/orm/mapper.py at 1699 line this code: >> >>> if isinstance(value, tuple): >>> value = value[0] >> >>> Insert works correctly. >> >>> On Sep 30, 9:31 pm, phasma <xpa...@gmail.com> wrote: >>>> Hi. >> >>>> I've got autoloadable table: >> >>>> --------------------------------------------------------------------------- >>>> ---- >> >>>> class ObjectList(object): >>>> pass >> >>>> .... >> >>>> t_object_list = sa.Table('object_list', meta.metadata, autoload=True, >>>> autoload_with=engine) >>>> orm.mapper(ObjectList, t_object_list) >> >>>> --------------------------------------------------------------------------- >>>> ----- >> >>>> And when I'm trying insert data: >> >>>> --------------------------------------------------------------------------- >>>> ----- >> >>>> ol = ObjectList() >>>> ol.type = data['type'], >>>> ol.name = data['name'], >>>> ol.address = data['address'], >>>> ol.gps_lat = data['gps_lat'], >>>> ol.gps_lng = data['gps_lng'], >>>> ol._class = data['class'], >>>> ol.has_parking = data['has_parking'], >>>> ol.has_canteen = data['has_canteen'], >>>> ol.has_cafe = data['has_cafe'], >>>> ol.has_restaurant = data['has_restaurant'], >>>> ol.has_fitness = data['has_fitness'], >>>> ol.has_beauty_salon = data['has_beauty_salon'], >>>> ol.has_tire_shop = data['has_tire_shop'], >>>> ol.has_car_washer = data['has_car_washer'], >>>> ol.has_bank = data['has_bank'], >>>> ol.has_minibank = data['has_minibank'], >>>> ol.has_payment_terminal = data['has_payment_terminal'], >>>> ol.has_another = data['has_another'] >> >>>> meta.Session.add(ol) >>>> meta.Session.commit() >> >>>> -------------------------------------------------------------------- >> >>>> I've got error: >> >>>> ProgrammingError: (ProgrammingError) (1064, 'You have an error in your >>>> SQL syntax; check the manual that corresponds to your MySQL server >>>> version for the right syntax to use near \'), ("\'1\'",), ("\'1\'",), >>>> ("\'1\'",), ("\'1\'",), ("\'A\'",), (\'0\',), (\'0\',), (\'0\',), >>>> (\'0\' at line 1') 'INSERT INTO object_list (type, name, address, >>>> gps_lat, gps_lng, _class, has_parking, has_canteen, has_cafe, >>>> has_restaurant, has_fitness, has_beauty_salon, has_tire_shop, >>>> has_car_washer, has_bank, has_minibank, has_payment_terminal, >>>> has_another) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, >>>> %s, %s, %s, %s, %s, %s)' (('office',), ('1',)) ... and a total of 18 >>>> bound parameter sets >> >>>> Where is problems ? >> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "sqlalchemy" group. >>> To post to this group, send email to sqlalch...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> sqlalchemy+unsubscr...@googlegroups.com. >>> For more options, visit this group >>> athttp://groups.google.com/group/sqlalchemy?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalch...@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.