Найти - Пользователи
Полная версия: Sqlalchemy форматирование объектов
Начало » Python для новичков » Sqlalchemy форматирование объектов
1 2
4kpt_II
Я же Вам написал ответ. Все поля считываются как атрибуты. Если поля не известны, то есть два подхода для считывания. Но у Вас не тот случай, так как Вы работаете с flask и явно задаете модель БД.

P.S. Без обид, но вопросы действительно не айс
GreyZmeem
d54wvzc+i5zirs,
Вы немного запутались в методах которые используются для представления объектов.

__repr__ - в идеале, должен возращать такое значение, при помощи которого можно было бы создать такой же объект. Но зачастую такое невозможно, потому следует вернуть string, который бы однозначно описывал этот объект. В алхмии я использую что-то вроде:
def __repr__(self):
 return u'<Book(id={}, author={}, name={})>'.format(self.id, self.author, self.name).encode('utf-8')

__str__ - возращаем string. Это произвольное описание вашего объекта. Если метод __str__ не определен, то вернется значение из __repr__
def __str__(self):
 return u'{}: {}'.format(self.author, self.name).encode('utf-8')

__unicode__ - должен вернуть unicode. Смысл точно такой-же как и __str__. Этот метод вызывается когда надо представить объект в unicode. Наример: unicode(myobj).
def __unicode__(self):
 return u'{}: {}'.format(self.author, self.name)

Для себя я решил, что описываю все в __unicode__, а в __str__ делаю так:
def __str__(self):
 return self.__unicode__().encode('utf-8')

Т.е., у вас была ошибка в том, что из __repr__ вы возвращали unicode, вместо string
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