我在模型表单中使用auto_now_add时出现以下错误。
TypeError: __init__() got an unexpected keyword argument 'auto_now_add'
这是我的模型字段
modified = models.DateTimeField(blank = True)
表格声明。我在其中一篇文章DateTimeField Not Working中看到过
添加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修改了字段
这是我的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
当表单加载时,我需要在表单中自动填充当前日期和时间。告诉我我的代码中有什么不对。
答案 0 :(得分:1)
我认为错误是因为您要将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)