I'm glad you found a way to make it work. I'd forgotten about sqlalchemy.null().
Simon On Tue, Jul 16, 2019 at 7:29 AM Mirek Morek <testere...@gmail.com> wrote: > Ok, below there is a working solution. I had to import null from > sqlachemy.sql.expression and then: > > [image: apt null.jpg] > > > W dniu wtorek, 16 lipca 2019 07:47:30 UTC+2 użytkownik Mirek Morek napisał: >> >> Yes, when passing integer value as value everything is fine, so only >> value parameter is a concern here. This is Sybase database so maybe that is >> a case. >> >> W dniu poniedziałek, 15 lipca 2019 16:52:27 UTC+2 użytkownik Simon King >> napisał: >>> >>> Hmm, the None looks fine, but now I'm suspicious of those airport_sys_id >>> and project_sys_id values. Why are they being passed as floating point >>> values, rather than integers? >>> >>> Does the same query work if the reference_temperature is not None? >>> >>> On Mon, Jul 15, 2019 at 3:32 PM Mirek Morek <teste...@gmail.com> wrote: >>> >>>> >>>> Sure[image: log.jpg] >>>> >>>> >>>> W dniu poniedziałek, 15 lipca 2019 15:28:54 UTC+2 użytkownik Simon King >>>> napisał: >>>>> >>>>> 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 <teste...@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 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/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 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/7dfe5185-7b14-4fc9-85a9-35cda6556e10%40googlegroups.com >>>> <https://groups.google.com/d/msgid/sqlalchemy/7dfe5185-7b14-4fc9-85a9-35cda6556e10%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/1553e076-f7f4-409c-9b0b-3e085414af5f%40googlegroups.com > <https://groups.google.com/d/msgid/sqlalchemy/1553e076-f7f4-409c-9b0b-3e085414af5f%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/CAFHwexfx8YKQUKQ25%2BURBQxWnRab0RW1Tc%2BgeyaA3bjhi1eOXg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.