Вставить с помощью встроенного Select для внешнего ключа, используя декларативное отображение в sqlalchemy для mysql - PullRequest
0 голосов
/ 12 марта 2019

Надеюсь, кто-то может указать мне правильное направление, возможно, хороший пример, которому я мог бы следовать.Искал ссылки без везения.

Попытка сделать что-то вроде приведенного ниже кода, НО с помощью метода sqlalchemy .add () для mysql :

mysql> INSERT INTO table1(col11, col12, col13) 
    -> VALUES (‘val1’, ‘val2’, (SELECT id FROM table2 WHERE col21 = ‘val3’));

, чтобы я мог вставить идентификаторвнешний ключ, не явно, но путем поиска идентификатора через другой столбец (например, текстовое значение, читаемое человеком).

Предположим, у меня есть класс для table1 и я бы создал экземпляр этого класса со значениями, которые я бы предоставилявно (все кроме идентификатора внешнего ключа).

Как объединить эти значения со значением внешнего ключа, которое я бы не дал явно, но с помощью оператора SELECT?Есть ли прямой эквивалент?Могу ли я объединить .add () с .where ()?Или мне нужно сначала запросить другую таблицу, чтобы найти идентификатор, передать это моему экземпляру объекта, а затем выполнить add () с ошибками?

Заранее спасибо за любую помощь!

...