Modèle de procuration doc

Les modèles de proxy sont déclarés comme des modèles normaux. Vous dites à Django qu`il s`agit d`un modèle proxy en définissant l`attribut proxy de la classe Meta sur true. Le tri est fourni en réimplémentant la méthode WAbstractItemModel:: sort () standard. De cette façon, une classe de vue telle que WTreeView peut recourir au modèle comme indiqué par l`utilisateur. Utilisez setSortRole () pour indiquer le tri des rôles de données à effectuer, ou réimplémentez la méthode lessThan () pour fournir une méthode de tri spécialisée. Modèle de proxy de coût hybride (HCPM) modification la plus récente: avril, 2009 modèle de résultats en utilisant les données de nombre de lignes accessibles au public et les montants de support (2000): les instances QSortFilterProxyModel utilisent la fonction qStableSort () intégrée de Qt pour configurer les mappages entre les éléments dans le modèle source et ceux du modèle proxy, ce qui permet à une hiérarchie triée d`éléments d`être exposées aux vues sans modifier la structure du modèle source. Pour fournir un comportement de tri personnalisé, réimplémentez la fonction lessThan () pour effectuer des comparaisons personnalisées. L`objet Handler est un objet d`espace réservé qui contient des interruptions pour proxy. Les modèles de proxy peuvent être insérés entre un modèle existant et n`importe quel nombre de vues. Qt est fourni avec un modèle de proxy standard, QSortFilterProxyModel, qui est généralement instancié et utilisé directement, mais peut également être sous-classé pour fournir un filtrage et un comportement de tri personnalisés. La classe QSortFilterProxyModel peut être utilisée de la manière suivante: les sous-classes de QSortFilterProxyModel peuvent réimplémenter deux fonctions virtuelles appelées chaque fois qu`un index de modèle du modèle proxy est demandé ou utilisé: comme les modèles proxy héritent de QAbstractItemModel, ils peuvent être connectés à n`importe quel type de vue et peuvent être partagés entre les vues. Ils peuvent également être utilisés pour traiter les informations obtenues à partir d`autres modèles de proxy dans un arrangement de pipeline. L`héritage de modèle proxy peut sembler assez similaire à la création d`un modèle non managé, à l`aide de l`attribut managé sur la classe Meta d`un modèle.

Les métadonnées de modèle sont «tout ce qui n`est pas un champ», comme les options de commande (commande), le nom de la table de base de données (db_table) ou les noms singuliers et pluriels lisibles par l`homme (verbose_name et verbose_name_plural). Aucun n`est requis, et l`ajout de la classe Meta à un modèle est complètement facultatif. Si vous souhaitez ajouter un nouveau gestionnaire au proxy, sans remplacer la valeur par défaut existante, vous pouvez utiliser les techniques décrites dans la documentation du gestionnaire personnalisé: créez une classe de base contenant les nouveaux gestionnaires et héritez-la après la classe de base principale: QSortFilterProxyModel permet de filtrer les données d`un modèle source avant d`être fournies aux affichages, et permet également au contenu d`un modèle source d`être fourni aux vues en tant que données pré-triées. Les modèles proxy héritent des attributs Meta de la même manière que les modèles réguliers. Avec un proxy, vous pouvez facilement valider la valeur passée pour un objet. Cet exemple utilise le gestionnaire de jeu. Il existe plusieurs restrictions sur les paramètres qui peuvent être passés à proxy. getProxyClass: l`héritage de modèle dans Django fonctionne presque de manière identique à la façon dont l`héritage de classe normal fonctionne dans Python, mais les bases au début de la page doivent toujours être suivies .