hmm..
I just checked my code and I use the 'id' fields

     obj, created = ObjectHourUserCounter.objects.get_or_create 
( content_type__id__exact = ct_id, object_id = object.id,  
effective_date= this_hour,
             user__id__exact = user_id, session_key = session,
             defaults={'views':1, 'content_type_id':ct_id,  
'user_id':user_id, 'session_key': session   } )

and it seems to work.

regards
On 13/06/2006, at 9:38 AM, m h wrote:

>
> Ian-
>
> thanks for the swift response
>
> e , created = Foo.objects.get_or_create(name=name, category=c,
> display_name=dname, description=desc, homepage=home, logo_name="",
> small_logo_name="",defaults={"category":c})
>
> fails with the same error....
>
> I'll file a bug
>
> On 6/12/06, Ian Holsman <[EMAIL PROTECTED]> wrote:
>>
>> Hi mh.
>> I had a similar issue, and my work around was to put the category
>> into the defaults section (as well)
>>
>> e2, created = Foo.objects.get_or_create(name=name, category=c,
>> defaults={ display_name=.., category=c } )
>>
>> but you should probably raise a bug for this.
>>
>> regards
>> Ian.
>>
>> On 13/06/2006, at 9:24 AM, m h wrote:
>>
>>>
>>> FYI...
>>>
>>> I'm having an issue with the get_or_create helper method.   
>>> Apparently
>>> it isn't coercing parameters properly.
>>>
>>> I've got some code that looks like this:
>>>
>>> e = Foo(name=name, category=c, display_name=name.capitalize())
>>>
>>> e2, created = Foo.objects.get_or_create(name=name, category=c,
>>> display_name=name.capitalize())
>>>
>>> The first one will work and the second fails.  The issue being that
>>> the category is a foreign key and when creating the Foo object it  
>>> uses
>>> the id of category.  When using the get_or_create method, it  
>>> passes in
>>> the Category object as the SQL query parameter instead of the id.
>>> Thus giving the following error:
>>>
>>>   File "scanfoo.py", line 60, in pop_db
>>>     e2, created = Foo.objects.get_or_create(name=name, category=c,
>>> display_name=name.capitalize())
>>>   File "/home/matt/work/vpython/lib/python2.4/site-packages/
>>> Django-0.95-py2.4.egg/django/db/models/manager.py",
>>> line 69, in get_or_create
>>>     return self.get_query_set().get_or_create(*args, **kwargs)
>>>   File "/home/matt/work/vpython/lib/python2.4/site-packages/
>>> Django-0.95-py2.4.egg/django/db/models/query.py",
>>> line 217, in get_or_create
>>>     return self.get(**kwargs), False
>>>   File "/home/matt/work/vpython/lib/python2.4/site-packages/
>>> Django-0.95-py2.4.egg/django/db/models/query.py",
>>> line 202, in get
>>>     obj_list = list(clone)
>>>   File "/home/matt/work/vpython/lib/python2.4/site-packages/
>>> Django-0.95-py2.4.egg/django/db/models/query.py",
>>> line 94, in __iter__
>>>     return iter(self._get_data())
>>>   File "/home/matt/work/vpython/lib/python2.4/site-packages/
>>> Django-0.95-py2.4.egg/django/db/models/query.py",
>>> line 412, in _get_data
>>>     self._result_cache = list(self.iterator())
>>>   File "/home/matt/work/vpython/lib/python2.4/site-packages/
>>> Django-0.95-py2.4.egg/django/db/models/query.py",
>>> line 163, in iterator
>>>     cursor.execute("SELECT " + (self._distinct and "DISTINCT " or  
>>> "")
>>> + ",".join(select) + sql, params)
>>>   File "/home/matt/work/vpython/lib/python2.4/site-packages/
>>> Django-0.95-py2.4.egg/django/db/backends/util.py",
>>> line 12, in execute
>>>     return self.cursor.execute(sql, params)
>>>   File "/home/matt/work/vpython/lib/python2.4/site-packages/
>>> Django-0.95-py2.4.egg/django/db/backends/sqlite3/base.py",
>>> line 79, in execute
>>>     return Database.Cursor.execute(self, query, params)
>>> pysqlite2.dbapi2.InterfaceError: Error binding parameter 0 -  
>>> probably
>>> unsupported type.
>>>
>>> I've put some debugging statements in to confirm this.
>>>
>>> The problem is in query.py line 877 where field.get_db_prep_lookup
>>> is called.
>>>
>>> I'll dig in more.  But I figured you guys would be able to whip out
>>> this bug fix a lot faster.
>>>
>>> Let me know if I should file a bug.
>>>
>>> thanks
>>>
>>> matt
>>>
>>>>
>>
>>
>>>
>>
>
> >


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

Reply via email to