Найти - Пользователи
Полная версия: Запрос в стороннюю таблицу
Начало » Базы данных » Запрос в стороннюю таблицу
1
nahs
Добрый день!
Необходимо записать данные в таблицу, находящуюся в той же бд, что и проект, но не описанную в нем
код такой:
def send(request):
    text = request.GET["t"]
    cursor = connection.cursor()
    for key in request.GET.getlist('u'):
        cursor.execute("SELECT proton_personal.phone FROM proton_personal WHERE id="+key)
        phone = cursor.fetchone()  
        cursor.execute("INSERT INTO outbox(text, destinationnumber) VALUES ('%s','%s')",[text, phone])
        cursor.commit()
    return StreamingHttpResponse('ok')

INSERT не выполняется
FishHook
nahs
Необходимо записать данные в таблицу, находящуюся в той же бд, что и проект, но не описанную в нем
Не распарсил, честно говоря.
Проект в БД? Инсерт не выполняется в несуществующую таблицу?
Покажи логи.
nahs
Простите, ерунду написал.
Я посчитал, что для работы с таблицей она обязательно должна быть описана в модели.
где посмотреть логи я, к сожалению, так и не понял((

зато частично разобрался со своим вопросом.
я неверно указал принимаемые переменные
def sendsms(request):
    text = request.GET["t"]
    cursor = connection.cursor()
    for key in request.GET.getlist('u[]'):
        cursor.execute("SELECT proton_personal.phone FROM proton_personal WHERE id=%s",[key])
        phone = cursor.fetchone()  
        cursor.execute("INSERT outbox(text, destinationnumber) VALUES ('%s','%s')", [text, phone])
        cursor.commit()
    return StreamingHttpResponse('ok')

но теперь проблема в том, что запрос возвращает 500 Internal Server Error

а если строку с insert убрать, то ошибки нет.
Alen
Ошибка тут:
>>> text = 'ddd'
>>> phone = 'ddd'
>>> "INSERT outbox(text, destinationnumber) VALUES ('%s','%s')", [text, phone]
("INSERT outbox(text, destinationnumber) VALUES ('%s','%s')", ['ddd', 'ddd'])

А надо:
>>> "INSERT outbox(text, destinationnumber) VALUES ('%s','%s')" % (text, phone)
"INSERT outbox(text, destinationnumber) VALUES ('ddd','ddd')"
Alen
Тут таже ошибка:
cursor.execute("SELECT proton_personal.phone FROM proton_personal WHERE id=%s",[key])

А вообще, лучше пишите через format:

cursor.execute("SELECT proton_personal.phone FROM proton_personal WHERE id={!s}".format(key))
nahs
Спасибо, но это не помогло.
Так же возвращает 500 Internal Server Error
nahs
может это чем поможет
Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/send/?u[]=9510222222&u[]=9510111111&t=11164532

Django Version: 1.6.2
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'proton')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\nahs\workspace1\proton\proton\views.py" in sendsms
52. cursor.execute("INSERT INTO outbox(text, destinationnumber) VALUES ('%s','%s')" % (text, phone))
File "C:\Python27\lib\site-packages\django\db\backends\util.py" in execute
69. return super(CursorDebugWrapper, self).execute(sql, params)
File "C:\Python27\lib\site-packages\django\db\backends\util.py" in execute
51. return self.cursor.execute(sql)
File "C:\Python27\lib\site-packages\django\db\backends\mysql\base.py" in execute
124. return self.cursor.execute(query, args)
File "C:\Python27\lib\site-packages\MySQLdb\cursors.py" in execute
204. if not self._defer_warnings: self._warning_check()
File "C:\Python27\lib\site-packages\MySQLdb\cursors.py" in _warning_check
117. warn(w[-1], self.Warning, 3)

Exception Type: Warning at /send/
Exception Value: Field 'TextDecoded' doesn't have a default value
nahs
Всем спасибо!

оказывается проблема в таблице была.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB