Created
March 3, 2015 14:45
-
-
Save thequbit/e01cb9ae06f3bdb8a9db to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@classmethod | |
def get_all_from_assignment_id(cls, session, assignment_id, \ | |
deleted=False, start=0, count=0): | |
with transaction.manager: | |
posts_query = session.query( | |
Posts.post_id, | |
Posts.assignment_id, | |
Posts.client_id, | |
Posts.post_datetime, | |
Posts.deleted, | |
Posts.lat, | |
Posts.lng, | |
MediaObjects.media_object_id, | |
MediaObjects.media_id, | |
MediaObjects.file_name, | |
MediaObjects.caption, | |
MediaObjects.media_text, | |
MediaTypes.name, | |
MediaTypes.description, | |
Clients.verified, | |
Clients.client_id, | |
Languages.language_code, | |
Languages.name, | |
).join( | |
PostMediaObjects, | |
).join( | |
MediaObjects, | |
).join( | |
MediaTypes, | |
).join( | |
Clients, | |
Clients.client_id == \ | |
Posts.client_id, | |
).join( | |
Languages, | |
).filter( | |
Posts.assignment_id == assignment_id, | |
Posts.deleted == deleted, | |
).order_by( | |
desc(Posts.post_datetime), | |
).group_by( | |
Posts.post_id, | |
) | |
total_post_count = posts_query.count() | |
if start == 0 and count == 0: | |
posts = posts_query.all() | |
else: | |
posts = posts_query.slice(start, start+count) | |
return posts, total_post_count | |
SELECT Count(*) AS count_1 | |
FROM ( | |
SELECT posts.post_id AS posts_post_id, | |
posts.assignment_id AS posts_assignment_id, | |
posts.client_id AS posts_client_id, | |
posts.post_datetime AS posts_post_datetime, | |
posts.deleted AS posts_deleted, | |
posts.lat AS posts_lat, | |
posts.lng AS posts_lng, | |
mediaobjects.media_object_id AS mediaobjects_media_object_id, | |
mediaobjects.media_id AS mediaobjects_media_id, | |
mediaobjects.file_name AS mediaobjects_file_name, | |
mediaobjects.caption AS mediaobjects_caption, | |
mediaobjects.media_text AS mediaobjects_media_text, | |
mediatypes.NAME AS mediatypes_name, | |
mediatypes.description AS mediatypes_description, | |
clients.verified AS clients_verified, | |
clients.client_id AS clients_client_id, | |
languages.language_code AS languages_language_code, | |
languages.NAME AS languages_name | |
FROM posts | |
JOIN postmediaobjects | |
ON posts.post_id = postmediaobjects.post_id | |
JOIN mediaobjects | |
ON mediaobjects.media_object_id = postmediaobjects.media_object_id | |
JOIN mediatypes | |
ON mediatypes.media_type_id = mediaobjects.media_type_id | |
JOIN clients | |
ON clients.client_id = posts.client_id | |
JOIN languages | |
ON languages.language_id = posts.language_id | |
WHERE posts.assignment_id = %(assignment_id_1)s | |
AND posts.deleted = false | |
GROUP BY posts.post_id | |
ORDER BY posts.post_datetime DESC) AS anon_1 | |
That produces this error: | |
2015-03-03 09:40:07,150 ERROR [waitress][Dummy-2] Exception when serving /admin/get_assignment_responses.json | |
Traceback (most recent call last): | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/waitress-0.8.9-py2.7.egg/waitress/channel.py", line 337, in service | |
task.service() | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/waitress-0.8.9-py2.7.egg/waitress/task.py", line 173, in service | |
self.execute() | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/waitress-0.8.9-py2.7.egg/waitress/task.py", line 392, in execute | |
app_iter = self.channel.server.application(env, start_response) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/pyramid-1.5.2-py2.7.egg/pyramid/router.py", line 242, in __call__ | |
response = self.invoke_subrequest(request, use_tweens=True) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/pyramid-1.5.2-py2.7.egg/pyramid/router.py", line 217, in invoke_subrequest | |
response = handle_request(request) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/pyramid-1.5.2-py2.7.egg/pyramid/tweens.py", line 21, in excview_tween | |
response = handler(request) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/pyramid_tm-0.8-py2.7.egg/pyramid_tm/__init__.py", line 92, in tm_tween | |
reraise(*exc_info) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/pyramid_tm-0.8-py2.7.egg/pyramid_tm/__init__.py", line 73, in tm_tween | |
response = handler(request) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/pyramid-1.5.2-py2.7.egg/pyramid/router.py", line 163, in handle_request | |
response = view_callable(context, request) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/pyramid-1.5.2-py2.7.egg/pyramid/config/views.py", line 385, in viewresult_to_response | |
result = view(context, request) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/pyramid-1.5.2-py2.7.egg/pyramid/config/views.py", line 501, in _requestonly_view | |
response = view(request) | |
File "<redacted>/yellr-server/yellr-serv/yellrserv/admin_views.py", line 896, in admin_get_assignment_responses | |
count = count, | |
File "<redacted>/yellr-server/yellr-serv/yellrserv/models.py", line 1257, in get_all_from_assignment_id | |
total_post_count = posts_query.count() | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/orm/query.py", line 2640, in count | |
return self.from_self(col).scalar() | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/orm/query.py", line 2426, in scalar | |
ret = self.one() | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/orm/query.py", line 2395, in one | |
ret = list(self) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/orm/query.py", line 2438, in __iter__ | |
return self._execute_and_instances(context) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/orm/query.py", line 2453, in _execute_and_instances | |
result = conn.execute(querycontext.statement, self._params) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 729, in execute | |
return meth(self, multiparams, params) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/sql/elements.py", line 322, in _execute_on_connection | |
return connection._execute_clauseelement(self, multiparams, params) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement | |
compiled_sql, distilled_params | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 958, in _execute_context | |
context) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 1159, in _handle_dbapi_exception | |
exc_info | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/util/compat.py", line 199, in raise_from_cause | |
reraise(type(exception), exception, tb=exc_tb) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/engine/base.py", line 951, in _execute_context | |
context) | |
File "<redacted>.virtualenvs/yellr-server/local/lib/python2.7/site-packages/SQLAlchemy-0.9.8-py2.7-linux-x86_64.egg/sqlalchemy/engine/default.py", line 436, in do_execute | |
cursor.execute(statement, parameters) | |
ProgrammingError: (ProgrammingError) column "mediaobjects.media_object_id" must appear in the GROUP BY clause or be used in an aggregate function | |
LINE 2: ..., posts.lat AS posts_lat, posts.lng AS posts_lng, mediaobjec... | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment