On Mon, Sep 28, 2009 at 6:58 PM, Thomas Steinmaurer <t...@iblogmanager.com> 
wrote:
>
> Hello,
>
> I'm using Django with Firebird and Oracle as backends. When integrating
> with a legacy Firebird database using the inspectdb command, I guess I
> hit a bug in inspectdb.py (although I'm not entirely sure), which does
> affect extracting foreign key relationships.
>
> Starting in line 67:
>
> if i in relations:
>   rel_to = relations[i][1] == table_name and "'self'" or
> table2model(relations[i][1])
>
>
>
> Shouldn't that be:
>
> if column_name in relations:
>   rel_to = relations[column_name][1] == table_name and "'self'" or
> table2model(relations[column_name][1])
>

The original code appears to be correct for the officially supported
backends. Under SQLite, for example,
connection.introspection.get_relations() returns data of the form:

{2: (0, u'auth_permission')}

so relations[i][1] returns 'auth_permission'.

This suggests to me that the problem lies with the Firebird backend
returning data in the wrong format for some of the introspection
functions.

> I've also made some changes in the Firbird-django backend files for
> better support of:
>
> * the RETURNING clause (Firebird 2.0 and higher)
> * Improved introspection support
>
> Don't know if anybody is interested in those changes.

Firebird support isn't part of the Django core, so you'll need to take
this up with the maintainers of the Firebird backend. The Google code
project provides a ticket tracker and contact details for the project.

Yours,
Russ Magee %-)

--~--~---------~--~----~------------~-------~--~----~
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 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to