Hi all
I have class method in django model which is use json_array_elements
function.
In case when it performs by browser it works fine.
But in tests it fails with:
python manage.py test
Traceback (most recent call last):
File "path_to_project/dj_server/model_animations/*tests.py*", line 94, in
test_cteating
response_first = model_animations.views.get_animations_list(request,
jsonData['groups'][0])
File "path_to_project/dj_server/model_animations/*views.py*", line 37, in
get_animations_list
for model_anim in listArray:
File "/Library/Python/2.7/site-packages/django/db/models/query.py", line
1535, in __iter__
query = iter(self.query)
File "/Library/Python/2.7/site-packages/django/db/models/sql/query.py",
line 76, in __iter__
self._execute_query()
File "/Library/Python/2.7/site-packages/django/db/models/sql/query.py",
line 90, in _execute_query
self.cursor.execute(self.sql, self.params)
File "/Library/Python/2.7/site-packages/django/db/backends/utils.py",
line 65, in execute
return self.cursor.execute(sql, params)
File "/Library/Python/2.7/site-packages/django/db/utils.py", line 94, in
__exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/Library/Python/2.7/site-packages/django/db/backends/utils.py",
line 65, in execute
return self.cursor.execute(sql, params)
ProgrammingError: function json_array_elements(text) does not exist
LINE 1: ...on_name FROM model_animations_model, json_array...
^
HINT: No function matches the given name and argument types. You might
need to add explicit type casts.
*in models.py*
@classmethod
def animations_list(self, group_id):
if group_id:
try:
listArray = ModelAnimationList.objects.raw(('SELECT * FROM
model_animations_model, json_array_elements(animated_groups) AS data WHERE
\'"%s"\' = data::text' %group_id))
return listArray
except:
pass
return None
*in views.py*
def get_animations_list(request, group_id):
...
listArray = ModelAnimationList.animations_list(group_id)
if listArray:
for model_anim in listArray:
if model_anim:
anim_dict = { 'a_id' : model_anim.id, 'a_name' :
model_anim.animation_name }
result_anim_list.append(anim_dict)
...
*in tests.py*
request = HttpRequest()
response_first = model_animations.views.get_animations_list(request,
groupid)
Installed:
python 2.7
Django 1.7.1
Postgres 9.3.5
psycopg2 2.5.4
Mac 10.10 Yosemite
Question on stack
<http://stackoverflow.com/questions/26932005/postgres-function-json-array-elements-does-not-found-while-djangos-tests>
It was works on Mac OS X 10.9.5.
But not sure about other software.
And don't know in which software or tool could be bug.
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/8af790a6-3d7e-4a13-a5dd-719fddec84a3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.