On Saturday, April 13, 2013 10:40:10 AM UTC-6, Ian wrote:
>
> On Friday, April 12, 2013 7:43:32 AM UTC-6, Lauri Savolainen wrote:
>>
>> Thank you for the reply,
>>
>> The field is defined in the Django model as:
>> location_description = models.TextField(_('additional route 
>> information'), blank=True)
>>
>> Data length for the corresponding column in the database seems to be 4000 
>> and the type is NCLOB. The database is created by Django's syncdb and is 
>> not a legacy one.
>>
>> This is the raw SQL query the Django admin interface produces:
>>
>> SELECT DISTINCT "app_route"."id", 
>>                 "app_route"."route_no", 
>>                 "app_route"."owner_no", 
>>                 "app_route"."municipality_code", 
>>                 "app_route"."location_description", 
>>                 "app_route"."latitude", 
>>                 "app_route"."longitude" 
>> FROM   "app_route" 
>>        inner join "app_observationevent" 
>>                ON ( "app_route"."id" = 
>>                     "app_observationevent"."route_id" ) 
>> WHERE  "app_observationevent"."observation_date" >= :arg0 
>> ORDER  BY "app_route"."id" DESC 
>>
>> Executing it via the Django management shell django.db.connection 
>> produces the same error (ORA-00932: inconsistent datatypes: expected - got 
>> NCLOB) but when I remove the "app_route"."location_description" field 
>> from the SELECT projection the query executes successfully.
>>
>>
> Yes, this is caused by the use of a SELECT DISTINCT over a LOB column, 
> which Oracle does not allow.  The DISTINCT was added to admin queries over 
> joined fields as a result of ticket #15819.  As for workarounds -- I'm 
> afraid I don't have any suggestions for you.
>

Actually, one suggestion: you could try removing the field from the 
list_display option on the ModelAdmin.  I think you would also need to 
override the get_queryset method on the ModelAdmin to .defer() the field, 
as it doesn't look like the admin would do that automatically.

-- 
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to