I don't have any other ideas, I'm afraid. Can you post the relevant section from the logs?
On Mon, Jul 15, 2019 at 1:51 PM Mirek Morek <testere...@gmail.com> wrote: > So far I tried to call my function by passing airport_sys_id, > project_sys_id and column name, leaving value parameter empty as it is > assigned to None by default. > > I see in my logs that it tries to pass in sql query value=None, but it > doesn't work for numeric type field. It works fine for string type, but for > numeric one I receive as above: "Implicit conversion from datatype > 'VARCHAR' to 'NUMERIC' is not allowed. Use the CONVERT function to run > this query.", so it seems that it treats passed None as string value. > > W dniu poniedziałek, 15 lipca 2019 14:24:40 UTC+2 użytkownik Simon King > napisał: >> >> Passing None is the right way to set a column to NULL, so it sounds like >> you are doing something else wrong. How are you calling your >> update_airport_reference_temperature function? >> >> Also, enabling debug level logging (by passing echo='debug' when you >> create your SQLAlchemy engine) will show exactly what values you are >> passing to the database. >> >> Simon >> >> On Mon, Jul 15, 2019 at 10:45 AM Mirek Morek <teste...@gmail.com> wrote: >> >>> Hello Simon, >>> One extra question: >>> >>> Do you know maybe how to assign NULL field value to numeric type field >>> using sqlalchemy? I change field to some numeric value and then I want to >>> clear this field. >>> >>> I tried assign None as default for value parameter: >>> >>> [image: apt2.jpg] >>> >>> >>> But I receive: >>> >>> "Implicit conversion from datatype 'VARCHAR' to 'NUMERIC' is not >>> allowed. Use the CONVERT function to run this query." >>> >>> W dniu piątek, 12 lipca 2019 11:53:58 UTC+2 użytkownik Simon King >>> napisał: >>>> >>>> If SQLAlchemy didn't support the second calling style, you would still >>>> be able to make this work using the Python "**" operator: >>>> >>>> updatevalues = {custom_column: value} >>>> query = AIRPORT.update().values(**updatevalues) >>>> >>>> When calling a function, passing "**somedictionary" is equivalent to >>>> passing each of the dictionary elements as keyword arguments to the >>>> function. >>>> >>>> >>> def f(a, b, c): >>>> ... print("a =", a) >>>> ... print("b =", b) >>>> ... print("c =", c) >>>> ... >>>> >>> f(a=1, b=2, c=3) >>>> a = 1 >>>> b = 2 >>>> c = 3 >>>> >>> args = {'a': 1, 'b': 2, 'c': 3} >>>> >>> f(**args) >>>> a = 1 >>>> b = 2 >>>> c = 3 >>>> >>>> Simon >>>> >>>> On Fri, Jul 12, 2019 at 10:28 AM Mirek Morek <teste...@gmail.com> >>>> wrote: >>>> > >>>> > It works! >>>> > >>>> > Thank you very much Simon, I really appreciate that. You saved me a >>>> lot of nerves. I would buy you a beer if I could. >>>> > >>>> > So, in general we can say that only second calling style works in my >>>> example. >>>> > >>>> > Regards. >>>> > >>>> > W dniu czwartek, 11 lipca 2019 16:35:25 UTC+2 użytkownik Simon King >>>> napisał: >>>> >> >>>> >> Here are the docs for the Update.values() method: >>>> >> >>>> >> >>>> https://docs.sqlalchemy.org/en/13/core/dml.html#sqlalchemy.sql.expression.Update.values >>>> >> >>>> >> Note that it supports two main calling styles, either keyword >>>> arguments: >>>> >> >>>> >> .values(name_column='cat') >>>> >> >>>> >> ...or passing a dictionary: >>>> >> >>>> >> .values({'name_column': 'cat'}) >>>> >> >>>> >> Since you want to choose the column dynamically, you can use the >>>> >> dictionary style: >>>> >> >>>> >> updatevalues = {custom_column: value} >>>> >> query = AIRPORT.update().values(updatevalues) >>>> >> >>>> >> Hope that helps, >>>> >> >>>> >> Simon >>>> >> >>>> >> On Thu, Jul 11, 2019 at 3:00 PM Mirek Morek <teste...@gmail.com> >>>> wrote: >>>> >> > >>>> >> > Hello everyone, >>>> >> > I have a following question: >>>> >> > >>>> >> > I use sqlalchemy within my python method as follows: >>>> >> > >>>> >> > >>>> >> > I want to be able to replace 'custom_column' with parameter passed >>>> in the method. The same way as it works fine for airport_sys_id, >>>> project_sys_id and value. >>>> >> > >>>> >> > For example I want to pass in my method (1, 2, name_column, cat) >>>> and receive as follows: >>>> >> > >>>> >> > query = AIRPORT.update(). \ >>>> >> > where(AIRPORT.c.airport_sys_id == 1). \ >>>> >> > where(AIRPORT.c.project_sys_id == 2). \ >>>> >> > values(name_column=cat) >>>> >> > >>>> >> > I searched all I could but with no success. I would be extremely >>>> thankful for your support. Regards. >>>> >> > >>>> >> > >>>> >> > -- >>>> >> > SQLAlchemy - >>>> >> > The Python SQL Toolkit and Object Relational Mapper >>>> >> > >>>> >> > http://www.sqlalchemy.org/ >>>> >> > >>>> >> > To post example code, please provide an MCVE: Minimal, Complete, >>>> and Verifiable Example. See http://stackoverflow.com/help/mcve for a >>>> full description. >>>> >> > --- >>>> >> > You received this message because you are subscribed to the Google >>>> Groups "sqlalchemy" group. >>>> >> > To unsubscribe from this group and stop receiving emails from it, >>>> send an email to sqlal...@googlegroups.com. >>>> >> > To post to this group, send email to sqlal...@googlegroups.com. >>>> >> > Visit this group at https://groups.google.com/group/sqlalchemy. >>>> >> > To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/sqlalchemy/67448673-060d-449c-9dd9-19d5049c0c72%40googlegroups.com. >>>> >>>> >> > For more options, visit https://groups.google.com/d/optout. >>>> > >>>> > -- >>>> > SQLAlchemy - >>>> > The Python SQL Toolkit and Object Relational Mapper >>>> > >>>> > http://www.sqlalchemy.org/ >>>> > >>>> > To post example code, please provide an MCVE: Minimal, Complete, and >>>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >>>> description. >>>> > --- >>>> > You received this message because you are subscribed to the Google >>>> Groups "sqlalchemy" group. >>>> > To unsubscribe from this group and stop receiving emails from it, >>>> send an email to sqlal...@googlegroups.com. >>>> > To post to this group, send email to sqlal...@googlegroups.com. >>>> > Visit this group at https://groups.google.com/group/sqlalchemy. >>>> > To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/sqlalchemy/11786218-4161-4d41-b4e1-6faa7a31611b%40googlegroups.com. >>>> >>>> > For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >>> SQLAlchemy - >>> The Python SQL Toolkit and Object Relational Mapper >>> >>> http://www.sqlalchemy.org/ >>> >>> To post example code, please provide an MCVE: Minimal, Complete, and >>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >>> description. >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "sqlalchemy" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to sqlal...@googlegroups.com. >>> To post to this group, send email to sqlal...@googlegroups.com. >>> Visit this group at https://groups.google.com/group/sqlalchemy. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sqlalchemy/c35f40ae-17f6-4fb8-884f-32dd3157eae9%40googlegroups.com >>> <https://groups.google.com/d/msgid/sqlalchemy/c35f40ae-17f6-4fb8-884f-32dd3157eae9%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at https://groups.google.com/group/sqlalchemy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/19fe84c0-1104-4298-922f-4e6b8fb8880e%40googlegroups.com > <https://groups.google.com/d/msgid/sqlalchemy/19fe84c0-1104-4298-922f-4e6b8fb8880e%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/CAFHwexcy__FZkC0Wxg89rE4kvAF7dDQXXj%3DicYc8CYW-q%3D9aTQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.