Si c'est un cadre normal Lorsque vous enregistrez le modèle dans la base de données, vous définissez la valeur dans chaque champ.
SomeCreateProcess.py
#Comment régler normalement
someModel.name = name
someModel.user = user
....
Django Model Form résout un tel problème. Suguremono qui définit automatiquement la valeur reçue de la demande dans le modèle et même l'enregistre
Facile à mettre en œuvre. Héritez simplement ModeForm et mettez la métaclasse à l'intérieur.
modelsModelForm.py
from django import forms
from memFrame.models.SomeModel import SomeModel
'''
Formulaire modèle pour Honya Honya
@author Prautla
'''
class PictUploadForm(forms.ModelForm):
class Meta:
model = SomeModel #Fixez un pointeur sur le modèle
fields = ['name', 'user' ....] #Déclarer un champ
Le reste est facile. Passez simplement le corps POST de la requête
SomeCreateProcess.py
someModelForm:SomeModelForm= SomeModelForm(request.POST, instance=SomeModel()) #dans ce cas"instance="Est facultatif
someModelForm.save()
Passer la valeur non passée du POST à l'argument d'instance Vous pouvez le définir librement en le plaçant dans le modèle.
SomeCreateProcess.py
obj:SomeModel = SomeModel()
obj.mailAddress = "[email protected]"
obj.sex = "Homme"
someModelForm:SomeModelForm= SomeModelForm(request.POST, instance=obj)
someModelForm.save()