On Monday, October 29, 2012 11:09:11 AM UTC-4, Tomas Neme wrote:
>
>
> This is, IMO, the biggest and most stupid problem in django core 
> design, because it stops you from having an otherwise completely legal 
> configurations, like having a 'cms.plugins.picture' app alongside a 
> 'myproject.custom.picture' one which might do something completely 
> different. I.E.: you can't have apps with repeated app labels even if 
> there's no python path conflict between them. 
>
> I don't know what the reason behind this is. I know it allows you to 
> make a model part of any given app regardless of where it's located 
> (via Meta.app_label), but this could very easily be extended (in a 
> backwards-incompatible way, I'm afraid) to require to be the fully 
> qualified name of the app package 
>
>
>
This is actually a good feature for Django to have.  By enforcing app 
labels, you enforce data integrity at the application level, not just the 
database level.  I used to think this was horrible as well until I built a 
work-around for it and then had all kinds of database integrity issues.

In addition, if an application by the same name is being used in multiple 
places, you should instead manage the different use with URL patterns and 
not try to rig it otherwise.  If it's a completely different application 
than the others, the option I choose is to rename the app's folder and 
update my INSTALLED_APPS accordingly.  If you didn't write the application 
and it's not truly decoupled, you may have to make other changes.


--Michael

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-users/-/rgOnguKNJUQJ.
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