Hi all,

May be I'm too demanding to django Db API, but anyway..

OK, I have many-to-many relationship Story >-< Image.
I want to get all images which bound to a story and with 'caption' or
'img' fields applied search condition string 'conditionString'.

If I write (ver 0.91):

from django.models.webwire import stories, images
from django.core.meta import Q

conditionString = 'test me'

story = stories.get_object(pk=73)

boundImages = story.get_image_list(complex=( \
                            (  Q(image__caption__icontains =
conditionString) \
                             | Q(image__img__icontains =
conditionString)) ))

I have exception:

Traceback (most recent call last):
  File "<console>", line 1, in ?
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\utils\functional.py",
line 3, in _curried
    return args[0](*(args[1:]+moreargs), **dict(kwargs.items() +
morekwargs.items()))
TypeError: method_get_many_to_many() got an unexpected keyword argument
'complex'

OK, let's go from other side:

boundImages = images.get_list(complex=(
                               (   Q(caption__icontains =
conditionString) \
                                 | Q(img__icontains = conditionString))

                               & Q(stories__id__exact=story.id)))
Other exception:

Traceback (most recent call last):
  File "<console>", line 1, in ?
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\utils\functional.py",
line 3, in _curried
    return args[0](*(args[1:]+moreargs), **dict(kwargs.items() +
morekwargs.items()))
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\meta\__init__.py",
line 1415, in function_get_list
    return list(function_get_iterator(opts, klass, **kwargs))
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\meta\__init__.py",
line 1393, in function_get_iterator
    select, sql, params = function_get_sql_clause(opts, **kwargs)
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\meta\__init__.py",
line 1621, in function_get_sql_clause
    tables2, join_where2, where2, params2, _ =
_parse_lookup(kwargs.items(), opts)
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\meta\__init__.py",
line 1493, in _parse_lookup
    tables2, join_where2, where2, params2, table_count =
kwarg_value.get_sql(opts, table_count)
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\meta\__init__.py",
line 301, in get_sql
    tables2, join_where2, where2, params2, table_count =
val.get_sql(opts, table_count)
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\meta\__init__.py",
line 363, in get_sql
    return _parse_lookup(self.kwargs.items(), opts, table_count)
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\meta\__init__.py",
line 1601, in _parse_lookup
    _throw_bad_kwarg_error(kwarg)
  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\meta\__init__.py",
line 1475, in _throw_bad_kwarg_error
    raise TypeError, "got unexpected keyword argument '%s'" % kwarg
TypeError: got unexpected keyword argument 'stories__id__exact'

Question:
Do I have syntax error(-s) or it's simply impossible to write such
expressions in django?


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to