Modele procuration

Voici un exemple simple d`utilisation d`un modèle de proxy dans l`admin de Django QSortFilterProxyModel permet de filtrer les données d`un modèle source avant d`être fournies aux vues, et permet également le contenu d`un modèle source à fournir aux vues en tant que données pré-triées. Ainsi, un modèle enfant n`a pas accès à la classe Meta de son parent. Toutefois, il existe quelques cas limités où l`enfant hérite du comportement du parent: si l`enfant ne spécifie pas un attribut de classement ou un attribut get_latest_by, il héritera de ceux-ci de son parent. La méthode Remove () est désactivée pour des raisons similaires. Par exemple, si la table personnalisée à travers définie par le modèle intermédiaire n`applique pas l`unicité sur la paire (Model1, Model2), un appel Remove () ne fournirait pas suffisamment d`informations sur l`instance de modèle intermédiaire à supprimer: vous pouvez définir des modèles en tant que proxy simplement en ajoutant proxy = true dans la classe Meta du modèle. Le modèle de proxy tire également parti du fait que la passerelle d`API est un endroit logique pour gérer les fonctionnalités qui ne sont pas spécifiques aux microservices, telles que la mise en cache, l`équilibrage de charge, et les autres décrits dans ce billet de blog. Un modèle de proxy ne pas obtenir sa propre table de base de données. Au lieu de cela, il fonctionne sur la table d`origine. Il existe quelques restrictions sur le modèle intermédiaire: la classe QSortFilterProxyModel est conçue pour être instanciée et utilisée directement dans les applications. Des modèles de proxy plus spécialisés peuvent être créés en sous-classant ces classes et en implémentant les opérations de comparaison requises. L`autorisation donnée can_manage_institutions n`a pas été appliquée au modèle dans la migration de données. Il n`y a rien de compliqué sur les modèles de proxy, il ya juste un peu de réflexion nécessaire en ce qui concerne la façon dont ils peuvent résoudre vos problèmes. Étant donné que l`héritage multi-table utilise un OneToOneField implicite pour lier l`enfant et le parent, il est possible de passer du parent vers l`enfant, comme dans l`exemple ci-dessus.

Toutefois, cela utilise le nom qui est la valeur par défaut related_name pour les relations ForeignKey et ManyToManyField. Si vous mettez ces types de relations sur une sous-classe du modèle parent, vous devez spécifier l`attribut related_name sur chaque champ de ce type. Si vous oubliez, Django va déclencher une erreur de validation. Pour essayer le modèle de proxy avec NGINX plus pour vous-même, commencez votre essai gratuit de 30 jours aujourd`hui ou contactez-nous pour une démo en direct. Vous êtes libre de substituer ces méthodes (et toute autre méthode de modèle) pour modifier le comportement. Le deuxième type d`héritage de modèle pris en charge par Django est lorsque chaque modèle de la hiérarchie est un modèle tout seul. Chaque modèle correspond à sa propre table de base de données et peut être interrogé et créé individuellement. La relation d`héritage introduit des liens entre le modèle enfant et chacun de ses parents (via un OneToOneField créé automatiquement). Par exemple: pour ces situations, Django vous permet de spécifier le modèle qui sera utilisé pour régir la relation plusieurs-à-plusieurs. Vous pouvez ensuite placer des champs supplémentaires sur le modèle intermédiaire. Le modèle intermédiaire est associé au ManyToManyField à l`aide de l`argument through pour pointer vers le modèle qui agira en tant qu`intermédiaire. Pour notre exemple de musicien, le code ressemblerait à ceci: une “méthode magique” de Python qui renvoie une représentation sous forme de chaîne de n`importe quel objet.