自动填充DateTimeField在django表单中不起作用
当我在模型表单中使用auto_now_add时,我遇到以下错误自动填充DateTimeField在django表单中不起作用,django,forms,datetime,Django,Forms,Datetime,当我在模型表单中使用auto_now_add时,我遇到以下错误 TypeError:\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 这是我的模型字段 modified=models.DateTimeField(blank=True) 声明的形式。我在一个帖子里看到过 为自动填充添加initial=datetime.datetime.now 导入日期时间 modified=for
TypeError:\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
这是我的模型字段
modified=models.DateTimeField(blank=True)
声明的形式。我在一个帖子里看到过
为自动填充添加initial=datetime.datetime.now
导入日期时间
modified=forms.DateTimeField(initial=datetime.datetime.now)
-当我使用此选项时,不会出现错误,但datetime不会自动填充
我已经在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中的字段
这是我的模型
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
当表单加载时,我需要在表单中自动填充当前日期和时间。告诉我代码中有什么错误。我认为错误是因为您正在向窗体而不是模式中添加auto\u now\u额外参数。尝试将您的模型更改为以下内容,以查看这是否解决了问题(未测试):
使用auto\u now\u add
set时,DateTimeField的定义会是什么样子?我使用过类似的modified=models.DateTimeField(auto\u now\u add=True)
。当我给出这个参数时,它说了一个意外的关键字参数‘auto_now_add’问题是,当使用表单和auto_now_add
时,DateTimeField
在表单中不应该是可编辑的(Django docs:“按照当前的实现,将auto_now或auto_now_add设置为True将导致字段设置为editable=False和blank=True)。”。你到底从哪里得到这个错误的?当试图调用表单或其他地方时?我已经尝试了所有组合。。。。它不起作用。或者告诉我如何在模型中创建datetime字段,以及如何在模型形式中将初始值设置为datetime.datetime.now()
。我从一个小时开始就在努力,但我没有得到它。它工作得很好。谢谢。但当我提交表单时,datetime并没有保存。请在此方面提供帮助Hey vikram,确保您正在forms.py页面上导入datetime模块,然后将默认值设置为datetime.datetime.now()让我知道这是否有效。Hey maz在删除auto_now_add=True后,它起作用了。谢谢你的帮助
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)