Как запросить данные из функции - PullRequest
0 голосов
/ 20 февраля 2020

Функция запрашивает транзакции из базы данных. Я могу заставить их работать индивидуально. Есть ли способ заставить функцию запрашивать данные на основе, скажем, имени клиента И диапазона дат, не делая еще одного оператора «если»?

def query_data(c, dateRange=None, customer_name=None, customer_id=None, customer_date=None):

    if customer_name is not None:
        query_where = 'customer_name=?'
        query_args = [customer_name]
        query_where = f'{query_where}'

    if customer_id is not None:
        query_where = 'customer_name=(SELECT customer_name FROM customers WHERE customer_id=?)'
        query_args = [customer_id]
        query_where = f'{query_where}'

    if customer_date is not None:
        query_where = 'order_date=?'
        query_args = [customer_date]
        query_where = f'{query_where}'

    if dateRange is not None:
        split_date = dateRange.split(",")
        query_where = 'order_date BETWEEN DATE(?) AND DATE(?)'
        query_args = [split_date[0], split_date[1]]
        query_where = f'{query_where}'

    query_string = f"SELECT * FROM transactions WHERE {query_where}"
    c.execute(query_string, query_args)
    return c.fetchall()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...