Django 1.1 -> 1.2 проблема миграции - PullRequest
0 голосов
/ 08 апреля 2011

Я просто пытался перенести свой рабочий сервер с Django 1.1.2 на Django 1.2.5.При попытке сохранить модель с использованием типов содержимого я получаю следующую ошибку: 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)

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

Возможно, у вас есть собственный метод Model.save (), который не принимает ** kwargs.Взгляните на документы .

0 голосов
/ 08 апреля 2011

После миграции вы изменили переменную 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, с введением нескольких дБ, база данных

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dev', 
        'USER': 'admin',
        'PASSWORD': 'secretpassword',  
        'HOST': '', 
        'PORT': '', 
    }
}

У меня такое ощущение, что внутренний код может быть по умолчанию using('default').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...