python tutorial Data di creazione automatica per gli oggetti modulo modello django?



python django example (1)

Qual è il modo migliore per impostare automaticamente una data di creazione per un oggetto e anche un campo che registrerà quando l'oggetto è stato aggiornato l'ultima volta?

Nel mio modello ho:

created_at = models.DateTimeField(False, True, editable=False)
updated_at = models.DateTimeField(True, True, editable=False)

e a mio avviso:

if request.method == 'POST':
    form = MyForm(request.POST)
    if form.is_valid():
        obj = form.save(commit=False)
        obj.user = request.user
        obj.save()
        return HttpResponseRedirect('obj_list')

Ottengo l'errore:

objects_object.created_at may not be NULL

Devo impostare manualmente questo valore da solo? Ho pensato che fosse il punto dei parametri passati a DateTimeFields (o sono solo predefiniti, e dal momento che ho impostato 'editable = False' non vengono visualizzati nel modulo, quindi non vengono inviati nella richiesta e quindi non viene messo nel modulo?).

Qual è il modo migliore per farlo? Un metodo di init ?

Grazie

ps - Sono un principiante di django e Python ...


È possibile utilizzare le opzioni auto_now e auto_now_add per updated_at e created_at rispettivamente.

class MyModel(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)




django