Аргумент int () должен быть строкой, байтовоподобным объектом или числом, а не «списком»: Django save model - PullRequest
0 голосов
/ 29 июня 2019

Я пытаюсь сохранить модель, но не могу из-за TypeError Мне дают.

Я смотрел на другие ответы с похожими ошибками, но это разные проблемы.

now = dateTime.now()
miliTime = int(str(now.hour) + str(now.minute)
timeConvert = miliTime - 1200
timeString = str(timeConvert)
standard_t = timeString[:1] + ":" + timeString[1:]
standardTime = standard_t + " " + p

time_1 = standard_time
time_2 = standard_time

user = StaffMember.objects.get(id = request.session['client']['id'])
userPunchCard = PunchCard.objects.get(employee = StaffMember.objects.get(name = user.name))

punch = []
try: 
  if len(userPunchCard.time.punch) < 2:
    punch.append(time_2)
    userPunchCard.time = punch
    userPunchCard.save()
except:
  punch.append(time_1)
  userPunchCard.time = punch
  userPunchCard.save()

Основная проблема - попытка сохранить array. try и except должны проверять наличие punch, если оно есть.

Вот полное сообщение об ошибке

TypeError: int() argument must be string, a bytes-like object or a number, not a 'list'.

1 Ответ

0 голосов
/ 30 июня 2019

Оказывается, моя модель на время принимала только объект типа int, и все время, пока я в него втискивал строку.Мне нужно было изменить целочисленное поле на CharField в файле моделей на время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...