Я хотел бы перейти к командной строке с импортированными моделями для запуска некоторых запросов.Web2py - mysql - как DAL?
У меня есть базы данных MySQL, я бегаю следующую команду для достижения поставленной задачи
$ python web2py.py -S appname -M
.....
>>> db = DAL('mysql://user:[email protected]/db_name')
Вышеприведенная команда не бросает какую-либо ошибку. Имя пользователя/pass и db верны, так как я могу успешно запросить данные в приглашении mysql.
Но теперь после консультаций с Docs http://www.web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#select, я пытаюсь сделать выбор на столе, который дает мне ошибку ниже
$ db(db.category).select()
AttributeError: 'DAL' object has no attribute 'category'
Можете ли вы помочь мне здесь? Как я могу получить доступ к данным. Я ищу, чтобы сделать это DAL, так как мне нужно добавить его в контроллеры.
FYI .. Я могу правильно использовать ExecuteSQL, без ошибок
$ db.executesql('select * from category;')
((1L,
u'tmp',
u'T',
datetime.datetime(2016, 9, 27, 16, 14, 59),
None,
datetime.datetime(2016, 9, 27, 16, 14, 59),
None))
Что значит «Нет необходимости определять это снова!» - что ему нужно сделать, чтобы заставить код работать? –
Сделав 'db = DAL ('mysql: // user: password @ localhost/db_name'), он заменяет предыдущий объект' db', определенный в своих моделях. Поэтому ему просто нужно удалить эту линию. – cdonts