Topic: django problema con il form  (Letto 346 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline avanguard

  • python unicellularis
  • *
  • Post: 11
  • Punti reputazione: 0
    • Mostra profilo
django problema con il form
« il: Gennaio 03, 2018, 14:29 »
buongiorno, ho trovato un paio di blocchi nella creazione del form, spero mi possiate aiutare.

1 aggiunta automatica della data in base a una condizione e se è vuoto:

dovrei fare in modo che un campo data si aggiunge automaticamente quando viene modificato un campo in questo caso 'stato' che è un ForeignKey, e solo se il campo è nuovo, questo perchè una volta aggiunta la data non voglio più che si modifichi.
io pensavo di farlo così

    if form.is_valid():
        instance = form.save(commit=False)

        if instance.data_opportunity is None and instance.stato.pk == 2:
            instance.data_opportunity = timezone.now()

        instance.save()
        messages.success(request, "aggiornato con successo")
        return HttpResponseRedirect(instance.get_absolute_url())

però non funziona, se non metto la prima parte non ho problemi con la condizione ma non riesco a settare l'if quando il campo è vuoto.


2 form ModelChoiceField con ricerca

dato che questo campo di scelta è collegato a oltre 600 voci vorrei creare un sistema rapido di ricerca, supponga che dovrei usare un javascript, sapete dirmi dove posso trovare una guida per poterlo fare?

grazie in anticipo per il supporto

Offline lausent

  • python unicellularis
  • *
  • Post: 3
  • Punti reputazione: 0
    • Mostra profilo
Re:django problema con il form
« Risposta #1 il: Maggio 12, 2018, 14:16 »
buongiorno, ho trovato un paio di blocchi nella creazione del form, spero mi possiate aiutare.

1 aggiunta automatica della data in base a una condizione e se è vuoto:

dovrei fare in modo che un campo data si aggiunge automaticamente quando viene modificato un campo in questo caso 'stato' che è un ForeignKey, e solo se il campo è nuovo, questo perchè una volta aggiunta la data non voglio più che si modifichi.
io pensavo di farlo così

    if form.is_valid():
        instance = form.save(commit=False)

        if instance.data_opportunity is None and instance.stato.pk == 2:
            instance.data_opportunity = timezone.now()

        instance.save()
        messages.success(request, "aggiornato con successo")
        return HttpResponseRedirect(instance.get_absolute_url())

però non funziona, se non metto la prima parte non ho problemi con la condizione ma non riesco a settare l'if quando il campo è vuoto.


2 form ModelChoiceField con ricerca

dato che questo campo di scelta è collegato a oltre 600 voci vorrei creare un sistema rapido di ricerca, supponga che dovrei usare un javascript, sapete dirmi dove posso trovare una guida per poterlo fare?

grazie in anticipo per il supporto


riguardo 1.
invece del form non puoi mettere nel modello due campi di tipo data? uno che imposta la data quando viene salvata l'istanza (quindi imposta la data una sola volta all'inizio e per sempre) e l'altro campo è una data che viene modificata solo quando un campo del modello viene modificato?

riguardo 2.
metti le 600 voci nel db e usa Ajax con Jquery. Oppure (ma non credo proprio sia il caso) carichi tutti i 600 risultati nella pagina e poi ti basta usare javascript per l'autocompletamento.