gpt4 book ai didi

python - BadValueError : Property X must be a str or unicode instance, 不是元组(更新时,而不是创建时)

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:35 25 4
gpt4 key购买 nike

GAE 快把我逼疯了。

我有以下内容:

    if id_puertas[x]:
puerta = Puerta.get_by_id(int(id_puertas[x]))
puerta.ubicacion = ubicacion_puertas[x],
puerta.ancho = float(ancho_puertas[x]),
puerta.marco = float(marco_puertas[x]),
puerta.alto = float(alto_puertas[x]),
puerta.giro = giro_puertas[x],
puerta.condena = True if condena_puertas[x] == 'Si' else False,
puerta.extra = extra_puertas[x]
else:
puerta = Puerta(
medicion = medicion.key().id(),
ubicacion = ubicacion_puertas[x],
ancho = float(ancho_puertas[x]),
marco = float(marco_puertas[x]),
alto = float(alto_puertas[x]),
giro = giro_puertas[x],
condena = True if condena_puertas[x] == 'Si' else False,
extra = extra_puertas[x]
)
puerta.put()

相同的表单将 id_puerta 作为数字发送,或者发送空白。如果是数字,则更新数据存储中的实体。如果为空,则创建一个新实体。

创作完美。

但如果我重新发送相同的表格(即使没有修改),更新会在第一次分配时阻塞。

ubicacion_puertas[x] 是一个字符串(创建时与更新时的字符串相同),puerta.ubicacion 是一个 StringProperty,但我收到以下错误:

 BadValueError: Property ubicacion must be a str or unicode instance, not a tuple

在调试器中,我清楚地看到 ubicacion_puertas[0] 是 u'Salon'。所以我无法理解这个错误。

最佳答案

当你这样做时:

puerta.ubicacion=ubicacion_puertas[x],

你在 puertaubicacion 属性中存储了一个元组:另一种更具可读性的形式是:

puerta.ubicacion=(ubicacion_puertas[x],)

你确定这是你想要的吗?去掉 , 来存储一个 str

puerta.ubicacion = ubicacion_puertas[x]

(其他属性也是一样...)

关于python - BadValueError : Property X must be a str or unicode instance, 不是元组(更新时,而不是创建时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12743621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com