I have a simple category model. They will eventually be chapters in a book and I only want entries to go into child categories, not the roots. Here's the models:
class Category(models.Model): name = models.CharField(max_length=120, blank=True) parent = models.ForeignKey('self', null=True, blank=True, related_name='child_set') class Content(models.Model): category = models.ForeignKey(Category) So say the categories were like this: Languages -python -ruby -C++ Frameworks -django -rails -j2ee I don't want any content to go into the languages or frameworks categories, only the child ones. Where would the logic to restrict the choice of category in Content within the admin interface? My best idea so far is to create a sub-class of ForeignKey called ContentCategoryField and override the validate method. In the validate method I could look up the id that was entered and see that has a parent id or not. I was also thinking of restricting my categories to be just 2 levels, like above. I could create a a ParentForCategoryField that overrides ForeignKey and it could check to make sure that any new category being created does not have a parent that also has a parent. Not sure if I'm on the right track here for a DRY method that will work with the admin interface and also with newforms (should I decide to make some of my own admin-like views). -- David Grant http://www.davidgrant.ca --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---