Я совершенно новичок в Web2Py, и у меня возникла следующая проблема:
Я пытаюсь определить базу данных и указать текущий год в качестве поля, которое должно быть автоматически заполнено с использованием даты и времени.
Но когда я пытаюсь открыть базу данных и просмотреть записи, я получаю обратный ответ, которого я не понимаю (см. Ниже).
Редактировать: Я думаю, что это связано с тем, что strftime имеет только один аргумент.Когда я использую strftime ("% Y% m% d"), он работает отлично.Но мне действительно нужен только текущий год.
Спасибо
Код
import datetime
db.define_table('orders',
Field("current_year", "string",default=datetime.datetime.now().strftime("%Y"),Label=T('Current Year'), readable=True, writable=False))
Код с использованием IS_DATETIME
После прочтения документации web2py я также попробовал это:
import datetime
Поле ('current_year', 'string', label = T («Текущий год»), по умолчанию = IS_DATETIME (формат = T («% Y»)), читаемый = True, доступный для записи = False))
Отслеживание:
Трассировка (последний вызов был последним): Файл "/home/PyCatUB/web2py/applications/contacts/controllers/appadmin.py", строка 269, в полях select *, limitby = (start, stop)) File "/ home / PyCatUB/web2py/gluon/packages/dal/pydal/objects.py ", строка 2020, в файле select return adapter.select (self.query, fields, attribute) Файл" / home / PyCatUB / web2py / gluon / packages / dal / pydal/adapters/sqlite.py ", строка 123, в select return super (SQLiteAdapter, self) .select (запрос, поля, атрибуты) Файл" / home / PyCatUB / web2py / gluon / packages / dal / pydal / adapters / base.py ", строка 1296, в select вернуть self._select_aux (sql, fields, attribute) Файл "/home/PyCatUB/web2py/gluon/packages/dal/pydal/adapters/base.py", строка 1253, в файле _select_aux self.execute (sql)«/home/PyCatUB/web2py/gluon/packages/dal/pydal/adapters/base.py», строка 1388, в файле «выполнить самовывоз», файл self.log_execute (* a, ** b) »/ home / PyCatUB / web2py / gluon/packages/dal/pydal/adapters/base.py ", строка 1382, в log_execute ret = self.get_cursor (). execute (команда, * a [1:], ** b) файл" / usr / lib / python2.7 / sqlite3 / dbapi2.py ", строка 66, в convert_timestamp datepart, timepart = val.split (" ") ValueError: для распаковки требуется более 1 значения