Django Admin - Validando inlines junto com os principais modelos

Tenho um requisito de validação bastante complexo e não consigo que o administrador do Django o atend

Tenho um modelo principal django.contrib.auth.models.User) e vários modelos que se parecem com

class SomeProfile(models.Model):
    user = models.OneToOneField(User)
    # more fields

Quero verificar se, se o usuário pertence a algum grupo, ele possui o perfil correspondente. Portanto, se o usuário estiver no grupoFoo ele deve ter um não vazioFooProfile.

Onde coloco essa regra de validação? Não posso colocá-lo no modelo. Na verdade, o usuário ainda não foi criado quando o formulário foi validado, portanto, não consigo acessar seus grupos. Então, eu preciso recorrer à validação de formulário. Isto é o que eu coloquei:

class UserAdminForm(forms.ModelForm):
    """
    A custom form to add validation rules which cannot live in the
    model. We check that users belonging to various groups actually
    have the corresponding profiles.
    """
    class Meta:
        model = User

    def clean(self):
        # Here is where I would like to put the validation

class FooInline(admin.TabularInline):
    model = FooProfile
    max_num = 1


class UserAdmin(admin.ModelAdmin):
    model = User
    form = UserAdminForm
    inlines = [FooInline]

admin.site.register(User, UserAdmin)

Meu problema é que dentroUserAdminForm.clean() Não tenho acesso aos dados publicados dentro das linhas. Para saber se o usuário está no grupo Foo, inspecionandoself.cleaned_data['groups'], mas não tenho como saber se umFooProfile foi transmitido.

Como verifico este requisito de validação?

Editar

Eu tento explicar melhor o problema, porque houve uma má interpretação em uma respost

Eu tenho um problema ao criar um novo usuário. O fato é que os perfis são obrigatórios (de acordo com os grupos). Digamos que um administrador crie um novo usuário; então tenho que adicionar linhas no formulário de administração para os vários GroupProfile

Como verifico se os perfis corretos não são nulos? Não consigo usar oclean() método doUser model, porque não consigo verificar a que grupos o usuário pertence: ele ainda não foi criad

Só consigo acessar as informações sobre os grupos noclean() método do formulário - mas não tenho as informações sobre os perfis, pois essas informações são enviadas através de linha

questionAnswers(1)

yourAnswerToTheQuestion