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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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.

Reply via email to