Skip to content

AttributeError: 'result' object has no attribute 'id' #10

@Ewetoye

Description

@Ewetoye

When searching, no error is thrown if the search does not produce result, but when results are available, flask-whoshalchemy3 throws an AttributeError as shown below

Traceback (most recent call last):
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/Equimolar/EquimolarBlog/equimolar_blog/views.py", line 191, in search
    results = pub_article.search(q).paginate(1)
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 501, in paginate
    total = self.order_by(None).count()
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3776, in count
    return self.from_self(col).scalar()
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3496, in scalar
    ret = self.one()
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3463, in one
    ret = self.one_or_none()
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3432, in one_or_none
    ret = list(self)
  File "/usr/local/Equimolar/eq_env/lib/python3.8/site-packages/flask_whooshalchemy/__init__.py", line 70, in __iter__
    str_pk = str(getattr(row, self._pk))
AttributeError: 'result' object has no attribute 'id'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions