0
votes

Django filtre par clé étrangère imbriquée

SOUUPOSE J'ai deux modèles comme ci-dessous:

Electronics->MobilePhone->Samsung->[galaxy, s10, s8]
Electronics->MobilePhone->Apple->[Iphone, Ipad, Ipod]


5 commentaires

@Willem van Onsem Nice Répondre. Peut-être que vous voulez changer de produit.ObjectS.get (produit_type__name = 'mobiléphone') à Product.ObjectS.get (produit_type__name = 'mobiléphones') alors que la demande de Cjahangir était telle. (AT) Cjahangir A Forieugnkey à Django exige que vous donniez également un argument On_delete. C'est l'un des deux arguments requis. Voir ici ( docs.djangoproject.com/fr/2.2/RF/ Modèles / champs / # Fore Foundey ) Peut-être que vous souhaitez ajouter cela.


@Amit, je viens d'écrire un pseudo code ici. Mais hélas, que dit Willem van Onsem ne fonctionne pas pour moi.


Quelle est l'erreur ou le résultat?


Cher @amit, ça me retourne un requérant vide. Mais si j'insère avec 'Samsung', cela fonctionne. Mais pas pour 'MobilePhone' ou même 'Electronics'


Quelle est la sortie de ProductType.ObjectS.Filter (Nom__IExact = "Mobilephone"). Compte () et ProductType.ObjectS.Filter (Nom__IExact = "Electronics"). Compte ()? S'il est non nulle, les entrées existent.


3 Réponses :


0
votes

Si vous utilisez django 2, vous devez ajouter on_delete (modèles.Cascade, modèles.Protected, modèles.set_null) Ce que je fais habituellement pour le faire autant d'erreur est: xxx


0 commentaires

0
votes

Peut-être que vous devez écrire une requête crue pour obtenir la dernière limite de la chaîne. Si c'est une chaîne d'infini, vous devrez alors vérifier le résultat suivant en utilisant une boucle. J'espère juste que vous obtiendrez une meilleure réponse de meilleurs développeurs et je pourrai l'apprendre aussi.


0 commentaires

0
votes

Vous pouvez ajouter un Propriété à votre modèle de produit qui retourne une liste de tous les objets producteurs de produits qu'il fait partie de . Comme: xxx

Après cela, vous pouvez filtrer les produits comme: xxx

Vos articles requis seront ensuite stockés dans le < Code> mobile_phones liste.


0 commentaires