Je suis d'obtenir une erreur get () renvoyé plus d'un sous-titres. pré>
update_subtitle_name.html strong> p> < code> MultipleObjectsReavorated to / update_subtitle_name_create / get ()
retourné plus d'un sous-titre_name - il est renvoyé 62! P>
blockQuote> p>
3 Réponses :
Il devrait être comme
Comment puis-je le rendre dynamique à formulaires.py code>
Publiez-vous pk code> du formulaire HTML
get_object_or_404 code> appelle interne le querySet qui est
Tout () code> requête, donc si vous passez le
subtiter_name code> Il s'attend à des critères de filtrage comme des arguments de mots-clés comme Ce
QuerySet.get (* args, ** kwargs) code> Si vous ne passez aucun argument de mot-clé ne renvoie pas toutes les instances de
SubtiTle_Name code>. Et
obtenir la méthode code> augmentera toujours l'erreur si plusieurs objets sont appariés avec les critères de filtrage. Il est capable de ne renvoyer qu'un seul objet. Si vous souhaitez charger davantage d'un objet dans des critères, vous devez appeler
filtre () code> sur QuerySet. P>
Il y a plusieurs problèmes avec votre code. Permet de les réparer un par un:
Tout d'abord, vous devez passer quel maintenant, vous devez capturer la valeur de Enfin, vous n'avez pas besoin d'utiliser subtiter_name code> vous souhaitez mettre à jour. Vous pouvez envoyer cette valeur à afficher par
URL code>, par exemple: p>
pk Code> de l'URL à voir: p>
def update_subtitle (auto, * args, ** kwargs): code): Code > méthode. Lorsque vous passez
instance code> argument de mots-clés avec l'initialisation du formulaire, le formulaire met ensuite à jour cet objet uniquement. P> p>
Vous devez passer une certaine valeur pour rechercher, comme
get_object_or_404 (sous-titre_name, champ = quelque_value) code> pour obtenir l'objet.