mko*_*nen 0 python django django-models
我有一个非常正常的模型:
class Nonce(models.Model):
key = models.CharField(_('key'), max_length=36, primary_key=True, blank=False)
token = models.ForeignKey('Token')
date_created = models.DateTimeField(_('date created'), blank=False, default='1970-01-01 00:00:00')
date_consumed = models.DateTimeField(_('date consumed'), blank=True, null=True)
created_by = models.IPAddressField(_('IP address'), blank=False, default='0.0.0.0')
consumed_by = models.ForeignKey('MyUser', blank=True, null=True, on_delete=models.SET_NULL)
def __unicode__(self):
return self.key
Run Code Online (Sandbox Code Playgroud)
其中很多都将被创建,我只需要保留其中一部分实际上被"消耗"(使用)的部分.此外,从模型中不明显,但这些将在1小时后到期.
因此,为了不使用一堆旧的nonce混乱我的数据库,并且为应用程序提供定期(经常)删除过期的数据库的工作,我认为最好将它们存储在RAM中直到它们被消耗(如果有的话) ).
所以,我已经分叉了我的代码,我想我只是替换我的代码,我保存()使用save(commit = False)创建的对象,然后将对象存储到RAM(Memcached).稍后如果消耗了特定的随机数,我将正确地保存(),否则,该对象将过期并通过Memcache清除.
不幸的是,我收到错误:save() got an unexpected keyword argument 'commit'
来自Django的行nonce.save(commit = False).为什么?
我正在使用Django 1.4.5和Python 2.7.2.
Django的Model
类没有以save
这种方式定义方法.那是为了ModelForm
s.正常的方法签名Model
的save
方法是这样的一种:
def save(self, force_insert=False, force_update=False, using=None):
Run Code Online (Sandbox Code Playgroud)
你将不得不尝试另一种方法.
这是模型save
方法的开发者文档,这个版本是1.4版本
希望这可以帮助!
归档时间: |
|
查看次数: |
3983 次 |
最近记录: |