Я пытаюсь обновить атрибут с помощью сигнала post_save, но я получаю ExceptionType: TypeError «Аргумент int () должен быть строкой, байтовым объектом или числом, а не« Pedido »», и я незнать, что это за ошибка.
Это мой сигнал:
@receiver(post_save, sender=Venta)
def update_thread(sender, **kwargs):
instance = kwargs['instance']
obj = Pedido.objects.get(pk=instance.pedido)
obj.estado = "Finalizado"
ob.save()
Также проверьте это: ![error](https://i.stack.imgur.com/xGCmc.png)
В чем может быть ошибка?
Редактировать: Это две мои модели, которые я использую здесь:
class Pedido(models.Model):
total = models.DecimalField(max_digits=10, decimal_places=2, default=0)
fecha = models.DateField(default=datetime.now, null=True, blank=True)
estado = models.CharField(max_length=20, default='Pendiente')
cliente = models.CharField(max_length=50, default='Agregue Cliente')
observacion = models.CharField(max_length=200, null=False, default='Ninguna')
def get_absolute_url(self):
return reverse('control:pedido-detail', args=[str(self.id)])
def __str__(self):
return str(self.id)
class Venta(models.Model):
fecha = models.DateField(default=datetime.now, null=True, blank=True)
pedido = models.ForeignKey(Pedido, db_column='pedido_id', on_delete=models.SET_NULL, null=True)
total = models.CharField(max_length=200, default=1)
cliente = models.CharField(max_length=100)
nit = models.CharField(max_length=10)
def get_absolute_url(self):
return reverse('control:venta-detail', args=[str(self.id)])
def __str__(self):
return str(self.id)