Django предлагает мне установить empty_value
для CharField: https://docs.djangoproject.com/en/2.2/ref/forms/fields/#django.forms.CharField.empty_value
Я пытаюсь изменить свое поле с:
my_field = models.CharField(max_length=80, blank=True)
на:
my_field = models.CharField(max_length=80, blank=True, null=True, empty_value=None)
Я получаю эту ошибку при попытке создать миграцию:
Файл "/Virtualenv/python3.7/site-packages/django/db/models/fields/init.py ", строка 1039, в init super (). init (* args, ** kwargs) TypeError: init () получил неожиданный аргумент ключевого слова 'empty_value'
Причина в том, что я хочу установить unique_together
для модели, которая включает в себя my_field
и другие поля, со следующим поведением:
- Если
my_field
равен NULL, я хочу, чтобы предложение unique_together
всегда разрешало другие комбинации, потому что NULL! = NULL в SQL . - Если
my_field
не NULL, я хочу, чтобы предложение unique_together
проверяло уникальность по отношению к другим полям.
Я не хочу проверки, которая не является проверкой базы данных, такой как clean
или validate_my_field
метод или аналогичный.