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
> <javascript:>> 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 <javascript:>.
>> To post to this group, send email to sqlal...@googlegroups.com
>> <javascript:>.
>> 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/7dfe5185-7b14-4fc9-85a9-35cda6556e10%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.