Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 29.02.2016
Сообщений: 212

Несколько аргументов пользовательской функции для запроса к БД

13.10.2022, 23:35. Показов 468. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Есть два класса:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Companies(Base):
    __tablename__ = 'companies'
 
    ticker = Column(String, primary_key=True)
    name = Column(String)
    sector = Column(String)
 
class Financial(Base):
    __tablename__ = 'financial'
    
    ticker = Column(String, primary_key=True)
    ebitda = Column(Float)
    sales = Column(Float)
    net_profit = Column(Float)
    market_price = Column(Float)
    net_debt = Column(Float)
    assets = Column(Float)
    equity = Column(Float)
    cash_equivalents = Column(Float)
    liabilities = Column(Float)
Мне нужно написать запрос к БД, где таблицы сделаны по конструктору класса. Таблицы две, и я решил написать функцию (которая будет использована несколько раз - оправдано в общем). Написал такое::

Python
1
2
3
4
5
6
7
8
def search_data(a, b):
    
    loaded = [ii for i in session.query(a) for ii in i if b in ii.lower()]
    if len(loaded) > 0:
        [print(*i) for i in enumerate(loaded)]
        return loaded
    else:
        print("Company not found!")
Она шикарно работает для одного столбца из таблицы, например:

Python
1
search_data(Companies.name, input("Enter company name:\n"))
Но иногда мне надо брать два столбца, например:

Python
1
Companies.name, Companies.ticker
Как я могу изменить функцию, чтобы использовать несколько аргументов типа "Companies.name"? Ну то есть выглядеть должно так:

Python
1
search_data(Companies.name, Companies.ticker, input("Enter company name:\n"))
То есть количество аргументов, связанных со столбцами в таблице БД может быть несколько.

Если есть более элегантное решение, буду рад его увидеть

P.S.: да, знаю, код не очень. Я только учусь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2022, 23:35
Ответы с готовыми решениями:

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

Отображение аргументов пользовательской функции VBA в Excel
Создал функцию на VBA в Excel. Когда вводишь её в ячейку ексель, имена аргументов отсутствуют. Например, когда пишешь в ячейку...

При изменении аргументов пользовательской функции вылетает Excel
Коллеги, добрый день! Могли бы вы подсказать непрофессионалу в VBA, почему при изменении аргументов функции (полный код мой - приведен...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2022, 23:35
Помогаю со студенческими работами здесь

Создание пользовательской функции на основе Рекордсета и запроса БД
Добрый день, уважаемые форумчане! Помогите пжт в написании пользовательской функции. Суть следующая: необходимо написать пользовательскую...

$model.open несколько возвращаемых аргументов аргументов в resolve
$scope.HrenId = ' '; $scope.editWord = function (origId, nonOrigId) { var modalInstance = $modal.open({ ...

wp_query - несколько аргументов для orderby, не работает
Привет ребята. Весть стак уже перечитал, как и десятки постов на эту тему. Единственная надежда - на ваши светлые головы. Далеко не нуб в...

Фиксированные значения для параметров пользовательской функции
Доброго всем времени суток! При работе с VBA достаточно много создаю вспомогательных фунций. В ряде из них параметы имеют ограниченное...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru