[Sqlalchemy-tickets] Issue #4075: multi-valued insert invokes default for same column many times (z
Brought to you by:
zzzeek
From: Michael B. <iss...@bi...> - 2017-09-13 15:29:01
|
New issue 4075: multi-valued insert invokes default for same column many times https://bitbucket.org/zzzeek/sqlalchemy/issues/4075/multi-valued-insert-invokes-default-for Michael Bayer: this case can't be handled without adding additional context: ``` #!python from sqlalchemy import * m = MetaData() def my_default(context): print "Called! What index are we? current params: %s" % context.current_parameters return 0 t = Table('t', m, Column('x', Integer), Column('y', Integer, default=my_default)) e = create_engine("mysql://scott:tiger@localhost/test") m.create_all(e) e.execute(t.insert().values([{"x": 5}, {"x": 6}, {"x": 7}])) ``` ``` #!python Called! What index are we? current params: {u'y_m2': None, u'y_m1': None, u'x_m0': 5, u'x_m1': 6, u'x_m2': 7, 'y': None} Called! What index are we? current params: {u'y_m2': None, u'y_m1': None, u'x_m0': 5, u'x_m1': 6, u'x_m2': 7, 'y': 0} Called! What index are we? current params: {u'y_m2': None, u'y_m1': 0, u'x_m0': 5, u'x_m1': 6, u'x_m2': 7, 'y': 0} ``` will add new method. |