int()参数必须是字符串,类似字节的对象或数字,而不是“列表”:Django保存模型

时间:2019-06-29 00:30:13

标签: django python-3.x

我正在尝试保存模型,但由于收到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()

主要问题是试图保存arraytryexcept用于检查punch是否存在。

这是完整的错误消息

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

1 个答案:

答案 0 :(得分:0)

结果是,我的时间模型只接受一个int对象,而整个时间我都在强制将字符串放入其中。我不得不将我的模型文件中的integerField更改为CharField。