@WebDeveloper2016

Почему возникает ошибка при загрузке фикстур?

Модель такая:
class Employee(models.Model):
    lastname = models.CharField('Фамилия', max_length=50)
    firstname = models.CharField('Имя', max_length=50)
    secondname = models.CharField('Отчество', max_length=50)
    birthdate = models.DateField('Дата рождения')
    email = models.EmailField('Электронная почта', max_length=50)
    phone = models.CharField('Телефон', max_length=15)
    begin_work = models.DateTimeField('Начало работы')
    end_work = models.DateTimeField('Окончание работы', blank=True, null=True, default=None)
    position = models.ForeignKey(Position)
    department = models.ForeignKey(Department)

Фикстуру подаю в таком формате:
[
   {
      "model":"employees.Employee",
      "pk":1,
      "fields":{
         "lastname":"Мишин",
         "firstname":"Мирон",
         "secondname":"Аверьянович",
         "birthdate":"1977-01-30",
         "email":"jandrews0@rediff.com",
         "phone":"86-(257)552-2961",
         "begin_work":"2016-11-25 9:11",
         "end_work":"2016-11-25 17:39",
         "position_id":2,
         "department_id":1
      }
   }
]

При загрузке (loaddata) возникает ошибка: Could not load employees.Employee(pk=1): Ошибка: значение не умещается в тип character varying(15). Почему так происходит? Что это вообще за тип "character varying(15)" такой? Разве pk не должен иметь тип int? К тому же в доках показан именно такой формат pk.

Python 3.5, Django 1.10
  • Вопрос задан
  • 453 просмотра
Решения вопроса 1
@iegor
Прояви логику. У тебя в ошибке написано не вмещается в поле размером 15. Может у тебя есть поле размером 15, куда пихаешь что-то больше 15?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы