В пункте с целыми числами в sqlalchemy/psycopg2

Другой подход, без глобальных:

var typewatch = function(){
    var timer = 0;
    return function(callback, ms){
        clearTimeout (timer);
        timer = setTimeout(callback, ms);
    }  
}();

Использование:

Присоединение события через JavaScript:

window.onload = function () {
    document.getElementById('domain').onkeyup = function() {
        typewatch(function(){alert('Time elapsed!');}, 1000 );
    };
};

Или с помощью встроенный обработчик событий ( не так рекомендуется, как ), как в вашем примере:


Попробуйте демо здесь .

8
задан ScottyUCSD 24 October 2009 в 05:43
поделиться

3 ответа

Заполнитель % s в execute ожидает скаляр, а не кортеж. Вам нужно либо заменить его на ','. Join (('% s',) * len (mytuple)) , либо использовать замену строкой!

3
ответ дан 5 December 2019 в 09:26
поделиться

если self.ids является массивом, у вас возникнут проблемы с выполнением преобразования в операторе execute. Вместо этого вы должны сделать это как строковую операцию перед вызовом оператора execute.

Попробуйте следующее:

my_connection.execute('SELECT * FROM public.table WHERE pk_table_id IN (%s)' % 
                      ",".join(str(x) for x in self.ids))
0
ответ дан 5 December 2019 в 09:26
поделиться

Я закончил тем, что отказался от SqlAlchemy для прямого psycopg2, поэтому я не знаю, применяется ли это на 100%. Я обнаружил, что psycopg2 правильно скомпилирует предложение IN, если вы передадите ему кортеж, а не массив / список. Я передал кортеж целых чисел, и он работал нормально.

6
ответ дан 5 December 2019 в 09:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: