title: django - How to cross check ModelAdmin and its inlines?
body: <p>I have two models (ModelParent and ModelChild) with same m2m fields on Subject model. 
  ModelChild has a foreign key on ModelParent and ModelChild is defined as inline for ModelParent on admin page.</p>
  
  <pre><code>### models.py ###
    class Subject(Models.Model):
      pass
  
    class ModelParent(models.Model):
      subjects_parent = ManyToManyField(Subject)
  
    class ModelChild(models.Model):
      parent = ForeignKey(ModelParent)
      subjects_child = ManyToManyField(Subject)
  
  ### admin.py ###
    class ModelChildInline(admin.TabularInline):
        model = ModelChild
  
    class ModelParentAdmin(admin.ModelAdmin):
      inlines = [ModelChildInline]
  
    admin.site.register(ModelParent, ModelParentAdmin)
  </code></pre>
  
  <p>I have one important restriction though, ModelChild's subjects_child field must not reference any subject that subject_parent does with its subjects_parent.</p>
  
  <p>So, if I select the same Subject (in subject_parent and subject_child) on Admin page for both models, how can I validate this?
  If only one field changes you validate it against the db, but what if both change (subject_parent and subject_child)?
  How can I validate both forms together before saving?</p>