1. from django.db import models
    
  2. 
    
  3. 
    
  4. class ParentManager(models.Manager):
    
  5.     def get_by_natural_key(self, parent_data):
    
  6.         return self.get(parent_data=parent_data)
    
  7. 
    
  8. 
    
  9. class Parent(models.Model):
    
  10.     parent_data = models.CharField(max_length=30, unique=True)
    
  11.     parent_m2m = models.ManyToManyField("self")
    
  12. 
    
  13.     objects = ParentManager()
    
  14. 
    
  15.     def natural_key(self):
    
  16.         return (self.parent_data,)
    
  17. 
    
  18. 
    
  19. class Child(Parent):
    
  20.     child_data = models.CharField(max_length=30, unique=True)