Come aggiornare un solo campo in un'istanza utilizzando ModelForm se la richiesta POST ha solo quel campo come parametro? ModelField tenta di sovrascrivere i campi che non sono stati passati nella richiesta POST con Nessuno che porta alla perdita di dati.Django aggiorna un campo utilizzando ModelForm
ho un modello con campi +25 dire
class C(models.Model):
a = models.CharField(max_length=128)
b = models.CharField(max_length=128)
...
x = models.IntegerField()
e ho un'applicazione desktop che fa richieste POST al fine di modificare un'istanza di C attraverso un metodo API esposte in views.py
Nel metodo api che sto usando ModelForm per convalidare i campi come segue:
form = CModelForm(request.POST, instance=c_instance)
if form.is_valid():
form.save()
Nel fare save() Django o si lamenta che qualche altro campo non può essere nullo o r (se tutti i campi sono opzionali) li sovrascrive con Nessuno.
Qualcuno sa come gestirlo? Vorrei fare tutti i controlli manualmente e aggiornare manualmente, ma il modello ha così freakishly lungo elenco di campi ...
il problema è che faccio non so quale campo verrà aggiornato: -/ –