我只是想将我的生产服务器从Django 1.1.2迁移到Django 1.2.5。当尝试使用contenttypes保存模型时,我收到以下错误:save() got an unexpected keyword argument 'using'
我认为这与迁移有关,但我无法弄清楚如何解决此问题。
django模型:
class RuleInput(models.Model):
rule = models.ForeignKey(Rule, related_name='inputs')
type = models.ForeignKey(ContentType, editable=False)
# A prio of 0 means a trigger, a prio of 1 means no trigger
priority = models.PositiveSmallIntegerField(max_length=100, default=0)
保存功能:
models = ContentType.objects.filter(app_label="rules")
for model, args in inoutputs:
args['rule'] = rule
cls = models.get(model=model).model_class()
cls.objects.create(**args)
答案 0 :(得分:2)
你可能有一个自定义的Model.save()方法,它不会占用** kwargs。看看the docs。
答案 1 :(得分:0)
迁移后,您是否更改了DATABASES
中的settings.py
变量。以前,在Django 1.1中,数据库设置定义为:
DATABASE_ENGINE = 'postgresql_psycopg2'
DATABASE_NAME = 'dev'
DATABASE_USER = 'admin'
DATABASE_PASSWORD = 'secretpassword'
DATABASE_HOST = ''
DATABASE_PORT = ''
在Django 1.2中,引入了多个db,数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dev',
'USER': 'admin',
'PASSWORD': 'secretpassword',
'HOST': '',
'PORT': '',
}
}
我感觉内部代码可能默认为using('default')
。