Поэтому я пытаюсь добавить SearchVectorField к модели в Django:
class JobPosting(models.Model):
...
...
search_vector = SearchVectorField()
Я понимаю, что он должен быть либо nullable
, либо иметь значение по умолчанию, чтобы можно было выполнить миграцию, поэтому я удалил все записи в таблице, чтобы предотвратить эту проблему.
Однако при запуске makemigrations
я получаю следующую ошибку:
You are trying to add a non-`nullable` field 'search_vector' to jobposting without a default;
we can't do that (the database needs something to populate existing rows).
Please select a fix:
1) Provide a one-off default now
(will be set on all existing rows with a null value for this column)
2) Quit, and let me add a default in models.py
Select an option:
Почему он говорит это, если стол пуст? Я не хочу делать столбец обнуляемым, и я бы предпочел не иметь значения по умолчанию, если я могу этого избежать.
Мой вопрос в том, есть ли способ принудительно makemigrations
и migrate
, так как я не понимаю проблемы, если таблица пуста. У меня есть другие таблицы с данными, которые я не хочу удалять, поэтому не могу удалить всю информацию в базе данных.
В качестве альтернативы, если вариант 1)
является решением, как мне отформатировать значение по умолчанию для этого типа поля? Я предполагаю, что это не обычное текстовое поле?
Спасибо за любую помощь.