ОШИБКА = 1054 (42S22): неизвестный столбец «company_name» в «списке полей» - PullRequest
0 голосов
/ 06 мая 2019

я знаю, что некоторые вопросы уже задавались по этому коду ошибки, но в моем случае запрос работал с моим тестовым файлом, но после преобразования в метод колбы он выдает ошибку Я работаю над колбой, и моя задача состоит в том, чтобы создавать и загружать Excel определенного пользователя между заданными датами мой код метода колбы, как показано ниже

@app.route('/excel_sheet')
def mk_excel_sheet():

    sort_user = request.args.get('sort_user2', 'abc1')
    from_date = request.args.get('from_date2', 'abc2')
    to_date = request.args.get('to_date2', 'abc3')
    company_name = session.get('company_name', 'abc4')

    print(f"{sort_user}\n{from_date}\n{to_date}\n{company_name}")

    file_name = f"{sort_user}-{from_date[:2]}-{from_date[3:5]}-{from_date[6:10]}-{to_date[:2]}-{to_date[3:5]}-{to_date[6:10]}.xlsx"
    print("file_name = ",file_name)
    file_path = 'static/'+str(file_name)
    print("file_path = ", file_path)
    #print(from_date, to_date)

    cur = connn.cursor()

    query = """
        SELECT date_format, type, username, time_in, address_in, time_out, address_out 
        FROM (
            SELECT date_today AS 'date_format', 'attendence' AS 'type', user AS 'username', 
                company_name AS 'comp_nam', STR_TO_DATE(in_time, '%d-%m-%Y %H:%i:%s') AS 'time_in', in_address AS 'address_in', STR_TO_DATE(out_time, '%d-%m-%Y %H:%i:%s') AS 'time_out', 
                out_address AS 'address_out' 
            FROM attendence 
            UNION ALL 
            SELECT add_time, 'visit', username, company_name, STR_TO_DATE(visit_time_in, '%d-%m-%Y %H:%i:%s'), 
                location_in, STR_TO_DATE(visit_time_out, '%d-%m-%Y %H:%i:%s'), location_out 
            FROM visits) t 
        WHERE t.username = '"""+str(sort_user)+"""' AND t.comp_nam = '"""+str(company_name)+"""' AND time_in BETWEEN STR_TO_DATE('"""+str(from_date)+"""', '%d-%m-%Y %H:%i:%s') AND STR_TO_DATE('"""+str(to_date)+"""', '%d-%m-%Y %H:%i:%s') 
        ORDER BY time_in ASC;"""

    try:
        cur.execute(query)
        data = cur.fetchall()
        print("data = ", data)

        book = xlsxwriter.Workbook(file_path)
        sheet = book.add_worksheet('sheet 1')
        bold = book.add_format({'bold': True})
        text_wrap = book.add_format({'text_wrap': True})

        sheet.write(0,0,'DATE',bold)
        sheet.write(0,1,'TYPE',bold)
        sheet.write(0,2,'USERNAME',bold)
        sheet.write(0,3,'TIME IN',bold)
        sheet.write(0,4,'LOCATION IN',bold)
        sheet.write(0,5,'TIME OUT',bold)
        sheet.write(0,6,'LOCATION OUT',bold)

        r = 2
        for r, row in enumerate(data):
            print(f"r = {r} | row = {row}")
            date = row[0]
            row_date = row[0]
            print(f"{date}|{row_date}")
            #if row_date is date

            for c, col in enumerate(row):
                print(f"c = {c} | col = {col}")
                sheet.set_column('{0}:{0}'.format(chr(c + ord('A'))), len(str(col)) + 2)
                sheet.write(r, c, col if type(col) is not datetime else col.strftime('%d-%m-%Y %H:%M:%S'), text_wrap)

        book.close()

    except Exception as e:
        print("ERROR = ",e)
    try:
        return send_file(file_path, mimetype='text/xlsx', attachment_filename=file_name, as_attachment=True)
    except Exception as e:
        print("FILE ERROR = ",e)

я получаю ERROR = 1054 (42S22): Unknown column 'company_name' in 'field list' что такое список полей в моем запросе MySQL я не знаю почему, потому что запрос работал в обычном файле test.py так может кто-нибудь указать мне, что я делаю неправильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...