Voglio avere un modulo associato da un oggetto per utilizzare il metodo is_valid. Il motivo è perché ho alcuni vecchi dati che voglio che gli utenti correggano in base alle nuove regole di validazione. Quindi, voglio riutilizzare il codice dei metodi puliti nella mia forma.Trasforma un modulo non legato in uno vincolato?
Ho finito serializzazione mia risposta:
from django.utils import simplejson
from django.core.serializers import serialize
(...)
fields_dict = simplejson.loads(serialize('json', [obj]))[0]['fields']
form = forms.MyForm(fields_dict)
if form.is_valid
Questo funziona, ma non sembra molto Djangish. Inoltre, sembra un problema comune, quindi stavo cercando un modo migliore per farlo.
Secondo la documentazione tradurre i dati da non legato a non legato non è destinato ad accadere: https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#the-save-method tuttavia, che sarebbe la soluzione più semplice per me.
Dimmi se ho capito bene: Hai vecchi dati in qualche luogo e dal momento che questo è stato salvato, le regole di convalida cambiati. Ora vuoi usare un ModelForm per riconvalidare i vecchi dati e visualizzare gli errori all'utente? – Martin
Da dove proviene 'obj'? Questo aiuterà a determinare cosa sta succedendo qui. –
Esattamente @Penthi. Penso che Oogles mi abbia dato quello che sto cercando. Grazie –