2011-11-14 53 views
5

我得到save() got an unexpected keyword argument 'force_insert'错误。从这个http://groups.google.com/group/django-users/browse_thread/thread/2471efd68d56ad59它看起来像答案是使用:Django save()得到了一个意外的关键字参数'force_insert'错误

def save(self, *args, **kwargs): 
... 
    super(SiteUser, self).save(*args, **kwargs) 

我的问题是你如何去这样做时指定force_insert=Trueforce_insert=False

我的代码是:

def save(self, force_insert=False, force_update=False): 
     if not self.id: 
     self.pub_date = datetime.datetime.now() 
     self.updated_date = datetime.datetime.now() 
     self.description_html = markdown(self.description) 
     self.highlighted_code = self.highlight() 
     super(Snippet, self).save(force_insert, force_update) 

回答

3

kwargsdict。像任何其他字典值一样设置它。

kwargs['force_insert'] = True 
+0

我可以看到,如果工作要覆盖的价值,但如何将你只是将其指定为默认值在我的代码? – Superdooperhero

+0

首先检查字典中是否已经存在。 –

+0

改变了我的代码:DEF保存(个体经营,* ARGS,** kwargs): 如果kwargs不是 'force_insert': kwargs [ 'force_insert'] = FALSE 如果不是 'force_update' 在kwargs: kwargs [” force_update'] = FALSE 如果不是self.id: self.pub_date = datetime.datetime.now() self.updated_date = datetime.datetime.now() self.description_html =降价(self.description) 自我。 highlights_code = self.highlight() super(Snippet,self).save(* args,** kwargs) 但仍然得到相同的错误。 Django 1.3.1不再支持force_insert,或者我做错了什么? – Superdooperhero

相关问题