Opened 4 years ago

Last modified 4 years ago

#29630 closed Bug

Admin interface causes ORA-00918: column ambiguously defined — at Version 2

Reported by: zelfor5436 Owned by: nobody
Component: Database layer (models, ORM) Version: 2.1
Severity: Release blocker Keywords: oracle, admin, exception
Cc: Mariusz Felisiak Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by zelfor5436)

Attempting to log in to the admin interface causes a SQL exception to be raised when using an Oracle database. The exception throw by Oracle is ... ORA-00918: column ambiguously defined.

Database: Oracle 12.1
cx_Oracle version: 6.4.1

Steps to reproduce...

1) Start a project
2) Configure the use of Oracle as a database
3) Execute makemigrations
4) Execute migrate
5) Execute createsuperuser
6) Execute runserver
7) Open localhost:8000/admin in a browser
8) Enter admin username/password and click to log in

At this point, Django will respond with an exception page indicating that Oracle has raised a SQL exception. Rolling back to Django 2.0.7 eliminates the problem and the admin interface behaves as expected.

It looks like the cause is related to base.html used in the admin templates. I'm assuming the problem is either related to some kind of change, since 2.0.7, in how SQL is constructed, or changes/additions in what kind of statements are being emitted by the templates for the admin interface.

Interestingly enough, there's no problem when using a SQLite database.

I'll try to dig into this further on Monday when I return to work. Relatively new to Django, so I'm not as familiar as I'd like to be with what's going on under the hood and I'm not sure where to really begin digging in as this deals with things that come prepackaged with the framework.

Change History (2)

comment:1 Changed 4 years ago by zelfor5436

Description: modified (diff)

comment:2 Changed 4 years ago by zelfor5436

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top