def disable_relation_fields(*models, all_metadata=None):
    """
    Remplace la liste de choix par un simple champ de saisie pour toutes les relations des modèles donnés
    (Permet d'améliorer significativement les performances lors de l'affichage du formulaire dans les APIs)
    :param models: Liste des modèles
    :param all_metadata: Toutes les métadonnées créées jusqu'à présent
    :return: Rien
    """
    from common.api.base import METADATA
    all_metadata = all_metadata or METADATA
    for model in models:
        if not model:
            continue
        metas = {}
        for field in model._meta.get_fields():
            if (field.concrete and not field.auto_created and field.
                related_model):
                metas[field.name] = dict(style={'base_template':
                    'input.html', 'placeholder': str(field.verbose_name)})
        if metas:
            metadata = all_metadata[model] = all_metadata.get(model, {})
            extra_kwargs = metadata['extra_kwargs'] = metadata.get(
                'extra_kwargs', {})
            for key, value in metas.items():
                extra_kwargs[key] = extra_kwargs.get(key, {})
                extra_kwargs[key].update(value)
