python - 为什么无法获取Django模型主键的值?
PHPz
PHPz 2017-04-18 10:08:40
0
3
468
PHPz
PHPz

学习是最好的投资!

répondre à tous(3)
PHPzhong

Django ne nécessite pas de "définir explicitement des clés primaires"

Il ajoutera automatiquement un champ d'identification (clé primaire, incrémentation automatique) à la table

Vous pouvez envisager de supprimer la clé primaire que vous avez définie manuellement

伊谢尔伦

Vous devez voir clairement que votre objet post est PostForm() et non Post(). Votre objet de traitement de formulaire PostForm a une valeur d'identifiant initiale, mais la valeur request.POST que vous transmettez a-t-elle une valeur d'identifiant ? sera naturel. C'est None. Si votre message est un objet Post(), alors il doit avoir une valeur d'identifiant

.
PHPzhong

Il y a une information qui n'est pas donnée en détail, c'est PostForm comment vous la définissez.

Si vous définissez PostForm ainsi, vous pouvez obtenir le résultat souhaité en appelant PostForm(request.POST).save().

class PostForm(forms.ModelForm):

    class Meta:
        model = Post
        

Mais votre PostForm n'est certainement pas défini de cette façon, car post = form.save(request.user) n'est pas la bonne façon de l'utiliser. La méthode ModelForm de save n'a qu'un seul paramètre, qui est commit = False ou commit=True, indiquant. s'il faut enregistrer les données dans la base de données, par défaut True

.

Voir le lien pour le code source

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal