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.