Hi
i have a Category model with parent/child self relation For primary category and sub categories :
class Place(models.Model):
name = models.CharField(_("name"), max_length=100)
categories = models.ManyToManyField("Category", verbose_name=_("categories"))
class Category(models.Model):
name = models.CharField(_("name"), max_length=100)
parent = models.ForeignKey('self', blank=True, null=True, related_name='child_set')
i need to prevent orphans, to prevent this kind of errors (in admin web interface)
c_parent = Category(name='Restaurant')
c_parent.save()
c_child = Category(name="Japanese restaurant", parent=c_parent)
c_child.save()
place1 = Place (name="Planet sushi")
place1.save()
place1.categories.add(c_parent)
place1.categories.add(c_child)
So now we have a new Place called "Planet sushi", it's a Restaurant (root category), and a Japanese Restaurant (sub category)
but i want to prevent this kind of things :
place2 = Place (name="Tokyofood")
place2.save()
place2.categories.add(c_child)
because parent is not set, or is not the correct parent category
where can i do form validation for the admin ? and other forms (because any user can add a new place and will have to choose correct categories for)