Работает для версий больше, чем Django 1.9
Первый шаг: - Импортировать это (может измениться в более новых версиях, поэтому дважды проверьте это)
from django.core.validators import validate_comma_separated_integer_list
Второй шаг: - Поле ввода
class RestaurantLocation(models.Model):
name = models.CharField(max_length=200)
location = models.CharField(max_length=200,null=True,blank=True)
category = models.CharField(max_length=200,null=True,blank=False)
choices_field = models.CharField(validators=[validate_comma_separated_integer_list],max_length=200, blank=True, null=True,default='')
def __str__(self):
return self.name
Примечание: Пожалуйста, убедитесь, что вы используете default = ''
, если вы добавляете столбец в уже созданную базу данных, в противном случае вы получите следующую опцию для выбора после запуска python manage.py migrate
You are trying to add a non-nullable field 'choices_field' to restaurantlocation 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:
Счастливого кодирования!