Je suis toujours coincé avec l'inline Tree-like-eiditing des modèles connexes sur la même page. J'ai trois modèles, A, B et C.Django: Modification en ligne du modèle associé en utilisant inlineformset
Class A
Class B
fb = foreignkey(A)
Class C
fc = foreignkey(B)
En admin.py je fais quelque chose comme
AdminA
inlines = [inlineB]
AdminB
inlines = [inlineC]
Je veux que quand je modèle modifier/ajouter A, I devrait être en mesure d'ajouter ModelB inline et d'ajouter les entrées Model C associées au Model B. J'essayais en ligneformsets, mais ne peux pas trouver comment les utiliser pour mon but. De plus, j'ai trouvé this old discussion on same problem. Mais encore une fois, depuis que je suis nouveau à Django, je ne sais pas comment le faire fonctionner.
_Quels vous avez essayé en fait jusqu'à présent? _ Vous avez une question connexe 12 heures plus tôt , dans lequel vous avez dit que le modèle B définissait simplement la relation entre A et C. J'ai déjà eu une configuration similaire avec des modèles de django-tagging et cela fonctionnait essentiellement en utilisant un 'GenericInlineAdminForm' pour' TaggedItem', qui définit aussi principalement le relation entre les balises, les objets marqués et les types de contenu. Cependant, vous ne pouvez pas espérer obtenir une réponse utile si vous énoncez seulement des questions plutôt abstraites. –
Il y a 12 heures, oui B était une classe abstraite. Mais pas plus, j'ai fait quelques changements à la classe. Auparavant, j'espérais trouver une solution intégrée, comme la fenêtre contextuelle qui apparaît si vous voulez créer un objet clé en main. Maintenant, j'essaie de créer un type de structure en ligne. Donc, dans la ligne Inline, j'espère qu'à part les champs de B, je peux ajouter des instances de classe C. Donc, la recherche d'une solution de formset personnalisée en utilisant modelforms, inlineformsets etc. Enfait mon problème est exactement le même que celui du lien que j'ai mentionné. Pouvez-vous me remplir avec les détails de sa solution? – Neo
Veuillez jeter un coup d'œil à http://docs.djangoproject.com/fr/1.2/ref/contrib/admin/#inlinemodeladmin-objects. Si vous définissez une InlineAdminForm pour le modèle B, par ex. dérivé de admin.TabularInline, vous devriez obtenir un affichage de formulaire qui fournit des boutons ** + ** - qui devraient vous permettre de créer des instances de C dans un popup. Si cela ne fonctionne pas, vérifiez vos clés étrangères. La question que vous avez liée à fondamentalement a des réponses raisonnables à votre problème. –