Как исправить предупреждение об устаревании django db_type? - PullRequest
0 голосов
/ 07 ноября 2011

После обновления до более новой версии Django я начал получать предупреждение об устаревании:

Django version 1.3, using settings 'demos.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
/Users/.....myfile.py:328: DeprecationWarning: inner has been called without providing a connection argument. 
  if 'integer' in x.db_type()

Я понял, что это вызвано методом Field.db_type, который возвращает тип данных столбца базы данных для поля.Этот метод был изменен так, чтобы соответствовать функции нескольких баз данных в последних версиях Django, поэтому теперь он также требует объект соединения в качестве аргумента [проверьте документы django]

Но какпередать этот объект подключения?Я не понимаю ..

1 Ответ

0 голосов
/ 07 ноября 2011

... Я нашел решение, которое работает.Достаточно импортировать соединение из django.db и передать его в качестве аргумента:

from django.db import connection 
if 'integer' in x.db_type(connection=connection):
    # do something...

Все еще задаетесь вопросом, хотя это правильный способ сделать это ....

...