Я использую Юг, чтобы изменить ForeignKey на 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 0.7 и Django 1.1.1
Спасибо за помощь.