2014-10-14 5 views
0

, пожалуйста, помогите решить проблему.Как добавить текущее время?

Я посылаю форму с данными. form содержит скрытое поле с текущей датой.

модель:

class Diary(models.Model): 
    title = models.CharField(
     'Заголовок записи', 
     max_length=100, 
     blank=False, 
    )   
    date = models.DateField(
     'Дата записи', 
     blank=True, 
     null=True, 
    )      
    text = models.TextField(
     'Содержание записи', 
     max_length=5000, 
     blank=False, 
    ) 
    last_edit_date = models.DateField(
     'Дата последнего редактирования', 
    ) 

форма:

from datetime import datetime 
class addMessageForm(forms.ModelForm): 
    last_edit_date = forms.DateTimeField(
     widget=forms.HiddenInput, 
     initial=datetime.now, 
    ) 

    class Meta: 
     model = Diary 
     fields = (
      'title', 
      'date', 
      'text', 
      'last_edit_date', 
     ) 

проблема в том, что при отправке формы данных обновляются данные в базе данных. но поле не обновляется last_edit_date.

в поле браузера last_edit_date имеет следующий вид:

<input id="id_last_edit_date" name="last_edit_date" type="hidden" value="2014-09-03"> 
+1

Почему вы не используете 'auto_now = True' в' date', чтобы он обновлялся при изменении? – Anzel

ответ

1

Если единственное, что вы хотите сделать, это установить last_edit_date в datetime.datetime.now() на сохранить, а затем использовать auto_now вариант DateField класса и пропустить это поле в форма.