#31264: ORA-00918: column ambiguously defined django admin.
-------------------------------------+-------------------------------------
     Reporter:  Daniel Trizna        |                    Owner:  nobody
         Type:  Bug                  |                   Status:  closed
    Component:  Database layer       |                  Version:  3.0
  (models, ORM)                      |
     Severity:  Normal               |               Resolution:  needsinfo
     Keywords:  oracle, django       |             Triage Stage:
  admin                              |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------

Comment (by Daniel Trizna):

 I am affraid that i can not provide you with the project i am working on
 but i replicated when i started a new project and replaced the database
 dictionary with my custom dictionary like this:
 DATABASES = {
     'default': {
         'ENGINE':   'django.db.backends.oracle',
         'NAME':     "VALID NAME",
         'USER':     "username",
         'PASSWORD': "password",
     }
 }
 when i use 'django_sqlprint_middleware.SqlPrintMiddleware' plugin i am
 able to get the sql querry that the django admin is executing.
 in django 2.* the querry was :

 QUERY = 'SELECT * FROM (SELECT "_SUB".* FROM (SELECT
 "DJANGO_ADMIN_LOG"."ID" AS Col1, "DJANGO_ADMIN_LOG"."ACTION_TIME" AS Col2,
 "DJANGO_ADMIN_LOG"."USER_ID" AS Col3, "DJANGO_ADMIN_LOG"."CONTENT_TYPE_ID"
 AS Col4, "DJANGO_ADMIN_LOG"."OBJECT_ID" AS Col5,
 "DJANGO_ADMIN_LOG"."OBJECT_REPR" AS Col6, "DJANGO_ADMIN_LOG"."ACTION_FLAG"
 AS Col7, "DJANGO_ADMIN_LOG"."CHANGE_MESSAGE" AS Col8, "AUTH_USER"."ID" AS
 Col9, "AUTH_USER"."PASSWORD" AS Col10, "AUTH_USER"."LAST_LOGIN" AS Col11,
 "AUTH_USER"."IS_SUPERUSER" AS Col12, "AUTH_USER"."USERNAME" AS Col13,
 "AUTH_USER"."FIRST_NAME" AS Col14, "AUTH_USER"."LAST_NAME" AS Col15,
 "AUTH_USER"."EMAIL" AS Col16, "AUTH_USER"."IS_STAFF" AS Col17,
 "AUTH_USER"."IS_ACTIVE" AS Col18, "AUTH_USER"."DATE_JOINED" AS Col19,
 "DJANGO_CONTENT_TYPE"."ID" AS Col20, "DJANGO_CONTENT_TYPE"."APP_LABEL" AS
 Col21, "DJANGO_CONTENT_TYPE"."MODEL" AS Col22 FROM "DJANGO_ADMIN_LOG"
 INNER JOIN "AUTH_USER" ON ("DJANGO_ADMIN_LOG"."USER_ID" =
 "AUTH_USER"."ID") LEFT OUTER JOIN "DJANGO_CONTENT_TYPE" ON
 ("DJANGO_ADMIN_LOG"."CONTENT_TYPE_ID" = "DJANGO_CONTENT_TYPE"."ID") WHERE
 "DJANGO_ADMIN_LOG"."USER_ID" = :arg0 ORDER BY
 "DJANGO_ADMIN_LOG"."ACTION_TIME" DESC) "_SUB" WHERE ROWNUM <= 10)' -
 PARAMS = (1,)

 where all columns have their aliases.
 In django 3 the querry is as follows :

 SELECT "DJANGO_ADMIN_LOG"."ID", "DJANGO_ADMIN_LOG"."ACTION_TIME",
 "DJANGO_ADMIN_LOG"."USER_ID", "DJANGO_ADMIN_LOG"."CONTENT_TYPE_ID",
 "DJANGO_ADMIN_LOG"."OBJECT_ID", "DJANGO_ADMIN_LOG"."OBJECT_REPR",
 "DJANGO_ADMIN_LOG"."ACTION_FLAG", "DJANGO_ADMIN_LOG"."CHANGE_MESSAGE",
 "AUTH_USER"."ID", "AUTH_USER"."PASSWORD", "AUTH_USER"."LAST_LOGIN",
 "AUTH_USER"."IS_SUPERUSER", "AUTH_USER"."USERNAME",
 "AUTH_USER"."FIRST_NAME", "AUTH_USER"."LAST_NAME", "AUTH_USER"."EMAIL",
 "AUTH_USER"."IS_STAFF", "AUTH_USER"."IS_ACTIVE",
 "AUTH_USER"."DATE_JOINED", "DJANGO_CONTENT_TYPE"."ID",
 "DJANGO_CONTENT_TYPE"."APP_LABEL", "DJANGO_CONTENT_TYPE"."MODEL"
 FROM "DJANGO_ADMIN_LOG"
 INNER JOIN "AUTH_USER"
 ON (
     "DJANGO_ADMIN_LOG"."USER_ID" = "AUTH_USER"."ID"
 )
 LEFT OUTER JOIN "DJANGO_CONTENT_TYPE"
 ON (
     "DJANGO_ADMIN_LOG"."CONTENT_TYPE_ID" = "DJANGO_CONTENT_TYPE"."ID"
 )
 WHERE "DJANGO_ADMIN_LOG"."USER_ID" = 1 ORDER BY
 "DJANGO_ADMIN_LOG"."ACTION_TIME" DESC FETCH FIRST 10 ROWS ONLY

 the columns does not have aliases and as a result there are 3 columns
 named id which causes the problem

-- 
Ticket URL: <https://code.djangoproject.com/ticket/31264#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/064.9bc485598e53442084f26a1607945213%40djangoproject.com.

Reply via email to