I'm having trouble coming up with a pretty solution to a seemingly simple task. I'm relatively new to Django.
I want to allow the end user to control various lists of links on the site used for navigation. The admin should allow the creation of "link groups" which have a collection of "links". These links would reference a pre-determined list of models. Let's say, for example, that there is a "link group" created for the footer links of a website. In the admin section, a user could add a link to a specific blog (from the Blog model), another link to the about us page (flatpages), etc. In other words, I'm trying to associate individual records from a number of tables together as a group of objects having a URL. I'm trying to find a nice, abstract solution. Obviously I don't want actual URLs in the database. This is something I would use frequently so I want to see if I can find or write an app to do this--if I can come up with an elegant solution. This would be nice, but, I can't imagine how it could be possible: class LinkGroup(models.Model): site = models.ForeignKey(Site) name = models.CharField() class Links(models.Model): link_group = ForeignKey(LinkGroup) model_type = ??? model_id = ForeignKey(<to the PK of the above the model_type>) # no can do! sort_order = PositiveIntegerField(default=100) This is an idea, however, I don't like having to reference the import in the DB. It's just begging for problems. class LinkModel(models.Model): name = models.CharField() # such as "Flat Page" model = models.CharField() # such as "myapp.models.FlatPage" class LinkGroup(models.Model): site = models.ForeignKey(Site) name = models.CharField() # such as "Navigation Links" class Link(models.Model): text = CharField() # such as "About Us" link_group = ForeignKey(LinkGroup) model = ForeignKey(LinkModel) model_id = PositiveIntegerField() # such as the PK for the myapp.models.FlatPage model sort_order = PositiveIntegerField(default=100) Any suggestions? -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@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.