Creo que no se entiende cual es el problema puntual que estoy teniendo...
El metodo esta funcionando por que impacta en la base de datos el cambio,
PERO, me devuelve este error:
*** UserError: ('UserError', ('The VAT number must be unique in each
country.', ''))
Esto hace que mi metodo me devuelva False...
Este error me lo da cuando quiero cambiar de active=True a active=False, al
hacer otro tipo de update (nombre, direccion, etc) no me da error...
Se entiende bien?
El viernes, 11 de diciembre de 2015, 9:52:10 (UTC-3), Jesús Martín Jiménez
escribió:
>
>
>
> El 11 de diciembre de 2015, 13:48, Alejandro Brunacci <
> [email protected] <javascript:>> escribió:
>
>> Hola Raimon, gracias por la respuesta! Segui tu consejo y probe las dos
>> opciones, pero sigo recibiendo el mismo error.
>>
>> def delete_party(data):
>> try:
>> party, =
>> Party.search(['vat_number','=',data['vat_number']],limit=1)
>>
>
> En el search debes poner una lista de tuplas:
>
> parties = Party.search([('vat_number', '=', data['vat_number'])],limit=1)
> Party.write(parties, {'active':False})
>
>
>> party.active = False
>> party.save()
>> Transaction().cursor.commit()
>> return True
>> except Exception,e:
>> exc_type, exc_obj, exc_tb = sys.exc_info()
>> fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
>> print(exc_type, fname, exc_tb.tb_lineno)
>> print e
>> return False
>>
>> Me da False siempre, pero lo raro es que el cambio lo impacta en la
>> base...
>>
>>
>> Aguardo alguien que me aclare este tema que me esta volviendo un poco
>> loco, gracias nuevamente por las respuestas!
>>
>>
>>
>>
>> El jueves, 10 de diciembre de 2015, 18:19:57 (UTC-3), raimonesteve
>> escribió:
>>>
>>>
>>> El dia 10/12/2015 21.11, "Alejandro Brunacci" <[email protected]>
>>> va escriure:
>>> >
>>> > Buenos dias a todos, les comento, estoy haciendo una aplicacion con
>>> Flask_tryton y necesito poder eliminar una entidad, pero mantener el
>>> historico, por ende, el metodo "delete" no me sirve, necesitaria setear
>>> active = false, pero cuando hago:
>>> >
>>> > party =
>>> Party.search(['vat_number','=',data['vat_number']])
>>> > update =
>>> Party()
>>> > update.write(party,{'active':False})
>>>
>>> Tienes errores en este código. Entre concepto clase i objeto.
>>>
>>> Seria lo mismo que harias con un módulo de tryton.
>>>
>>> Party.write(parties, {'active':False})
>>>
>>> O bien:
>>>
>>> party, = Party.search(['vat_number','=',data['vat_number']], limit=1)
>>> party.active = False
>>> party.save()
>>>
>>> > Transaction().cursor.commit()
>>>
>>> Esto no hace falta
>>>
>>> Saludos
>>>
>>
>
>
> --
>
> Jesús Martín
>
> Zikzakmedia SL
> C/ de Sant Jaume, 9, baixos, 2ª
> 08720 Vilafranca del Penedès
> ☏ 93 890 21 08
>