In magic-removal, the admin interface allows for apps with the same
names to coexist as long as they are in separate packages. Admin urls
are now like /admin/mypackage/myapp/mymodel rather than just
/admin/myapp/mymodel.

Unfortunately, this doesn't work quite like I'd expect it to. Here's
what I can think of that's "broken":

Table names are still just appname_modelname. Of course you can use
'db_table' to fix the issue, but it seems like something that should
"just work (tm)" I don't really like the idea of prefixing the package
name, but I don't see any other obvious options. Ideas?

If I run:
./manage sql auth (or any other command that takes app_label as the first arg)
I get the sql for the first auth app that appears in INSTALLED_APPS.
AFAICT it's impossible to install the second app without switching
their order in settings.py. That's simply not acceptable.

I imagine there's a similar problem with the filesystem template loader.

If apps with duplicate names aren't *really* going to work, then I
think the admin urls should change back. Breadcrumbs and admin urls
were a lot less complicated before the change.

In short, I think it would be cool to allow apps with the same name to
be installed, and I think Django will take some criticism eventually
if it doesn't (especially if a buch of 3rd party apps are available),
but it doesn't really work now, and needs to be thought through.

Any ideas that don't involve 50+ character table names and 10 level
deep template directories? ;-)

Joseph

Reply via email to