Я пытаюсь вернуть список всех ключевых слов из базы данных, которая выглядит примерно так:
[
'foo',
'bar',
'baz',
]
Модель
class Keyword(db.Model, SurrogatePK):
__tablename__ = 'keywords'
keyword = Column(db.Text, nullable=False, unique=True)
def __repr__(self):
"""Represent instance as a unique string."""
return '<Keyword({keyword})>'.format(keyword=self.keyword)
Схема
class KeywordSchema(ma.ModelSchema):
class Meta:
model = Keyword
Затем
keywords_schema = KeywordSchema(many=True, only='keyword')
Маршрут
class Keywords(Resource):
def get(self):
'''Head to http://localhost:5000/api/v1/keywords
Returns a list of all keywords.
'''
keywords = Keyword.query.all()
result = keywords_schema.dump(keywords)
return jsonify({'keywords': result})
Это вызывает `AttributeError '
Частичная трассировка
File "C:\Users\ddonovan\DHG\web\flask-research\Query-Metadata\metadata\views.py", line 33, in get
result = keywords_schema.dump(keywords)
File "c:\users\ddonovan\.edm\envs\flask\lib\site-packages\marshmallow\schema.py", line 491, in dump
self._update_fields(processed_obj, many=many)
File "c:\users\ddonovan\.edm\envs\flask\lib\site-packages\marshmallow\schema.py", line 760, in _update_fields
ret = self.__filter_fields(field_names, obj, many=many)
File "c:\users\ddonovan\.edm\envs\flask\lib\site-packages\marshmallow\schema.py", line 834, in __filter_fields
'"{0}" is not a valid field for {1}.'.format(key, obj))
AttributeError: "w" is not a valid field for <Keyword(numpy)>