问题描述
||
当我在模型表单中使用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)
-使用此功能时,不会出现错误,但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中的字段
这是我的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
加载表单时,我需要在表单中自动填充当前日期和时间。告诉我我的代码有什么问题。
解决方法
我认为该错误是因为您要向表单而不是模式添加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)