@sotero.toribio tienes razón, como se está poniendo entre comillas, se asume que es un texto plano el que se está pasando y por eso no evalúa el self como variable.
Habría que probar el ponerlo de esta manera: domain=[('type_attachment', '=', self._name)],
quitando las comillas, o incluso directamente como función así como lo comentas.
También puede ser que se deje la función compute, ahí te dejo a ti que elijas de que fomra te parece mejor que quede implementado.
Solamente comentarte de que que, en caso de que elijas usar la función compute, creo que convendría quitar esta parte de la función _cancel_cfdi
:
self.env["cfdi.related"].create(
{
"related_cfdi_id": self.id,
"original_cfdi_id": self.cfdi_id.id,
"type_attachment": self._name,
}
)
porque me parece que es redundante o, dicho de otra manera, ¿para qué tenemos una función compute si vamos a escribir directamente el valor de los registros en base de datos?