Автоматическое заполнение DateTimeField не работает в формах Django - PullRequest
0 голосов
/ 10 июня 2011

Я получаю ошибку ниже, когда использую auto_now_add в моей форме модели.

TypeError: __init__() got an unexpected keyword argument 'auto_now_add'

Вот мое поле модели

modified = models.DateTimeField(blank = True)

Декларация по форме. Я видел в одном из сообщений DateTimeField не работает добавить initial = datetime.datetime.now для автоматического заполнения

import datetime

modified = forms.DateTimeField(initial = datetime.datetime.now) - При использовании этого сообщения об ошибках не появляется, но дата и время не заполнялись автоматически.

Я использовал то же самое в self.fields['modified'] - по-прежнему бесполезно

Любое из вышеприведенных утверждений не работает. Кто-нибудь, помогите мне в этом.


Я вставляю здесь все свои классы моделей и формы моделей. Модель класса

class Users(models.Model):
  name = models.CharField(max_length = 100)
  role = models.ForeignKey(RolesConfig, db_column = 'role')
  level = models.ForeignKey(LevelConfig, db_column = 'level')
  team_name = models.ForeignKey(TeamNamesConfig, db_column = 'team_name')
  location = models.ForeignKey(LocationConfig, db_column = 'location')
  modified = models.DateTimeField(blank = True)
  class Meta:
     db_table = u'users'
     def __str__(self):
            return "%s" % (self.ldap)
     def __unicode__(self):
         return u'%s' % (self.ldap)

Я изменил поле в phpmyadmin

Modified field structure

Это моя ModelForm

class TargetForm(forms.ModelForm):
    modified = forms DateTimeField(initial = datetime.datetime.now)
    def __init__(self, *args, **kwargs):
       super(MMPodTargetForm, self).__init__(*args, **kwargs)    
       self.fields['modified'] = forms.DateTimeField(initial = datetime.datetime.now)
    class Meta:
       model = models.Users

Мне нужно, чтобы текущая дата и время автоматически заполнялись в форме при загрузке формы. Скажите мне, что не так в моем коде.

1 Ответ

1 голос
/ 10 июня 2011

Я думаю, что ошибка в том, что вы добавляете дополнительный аргумент auto_now_add в форму, а не в режим. Попробуйте изменить свою модель на следующую, чтобы увидеть, решит ли это проблему (не проверено):

class Users(models.Model):
  name = models.CharField(max_length = 100)
  role = models.ForeignKey(RolesConfig, db_column = 'role')
  level = models.ForeignKey(LevelConfig, db_column = 'level')
  team_name = models.ForeignKey(TeamNamesConfig, db_column = 'team_name')
  location = models.ForeignKey(LocationConfig, db_column = 'location')
  modified = models.DateTimeField(auto_now = True)
  class Meta:
     db_table = u'users'
     def __str__(self):
            return "%s" % (self.ldap)
     def __unicode__(self):
     return u'%s' % (self.ldap)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...