Я использую Юг, чтобы изменить ForeignKey TO ManyToManyField в одной из моделей Django, но это не работает, как ожидалось.
# Original Schema
class Item(models.Model):
category = models.ForeignKey(Category, default=default_category)
Заменить на
# Original Schema
class Item(models.Model):
category = models.ManyToManyField(Category, default=default_category)
Итак, после того, как я закомментировал строку ForeignKey в модели, которую я делаю,
python manage.py schemamigration affected_model --auto
? The field 'Item.category' does not have a default specified, yet is NOT NULL.
? Since you are removing this field, you MUST specify a default
? value to use for existing rows. Would you like to:
? 1. Quit now, and add a default to the field in models.py
? 2. Specify a one-off value to use for existing columns now
? 3. Disable the backwards migration by raising an exception.
? Please select a choice:
меня это смущает, потому что 1. Я указал значение по умолчанию, которое является "default_category" и 2. Я - не удаляя ни одно поле, я просто меняю его на ManyToManyField. У меня вопрос, как действовать в этом случае? Есть ли какой-нибудь другой способ сделать это преобразование с помощью South?
Кстати, я использую South 0.7 и Django 1.1.1
Спасибо за помощь.