Django .update() внешний ключ
у меня проблемы с обновлением фк.
Views.py
estandares =
EstandarProducto.objects.select_related('recinto','producto','proveedor').prefetch_related
(Prefetch('carreras')).filter(recinto=id_recinto)
for proveedor in estandares:
if proveedor.proveedor_id == None or proveedor == "":
EstandarProducto.objects.filter(id=proveedor.id).update(proveedor_id=1)
x=EstandarProducto.objects.get(id=proveedor.id)
print("ID proveedor : ", x.proveedor.id )
Models.py
class EstandarProducto(models.Model):
''''''
costo_unitario_uf = models.DecimalField(max_digits=20, decimal_places=5, default=0)
cantidad = models.IntegerField(default=0)
total_uf = models.DecimalField(max_digits=20, decimal_places=5, default=0)
recinto = models.ForeignKey(Recinto, related_name='estandares_producto', on_delete=models.CASCADE)
producto = models.ForeignKey(
Producto, related_name='estandares_producto', on_delete=models.PROTECT)
proveedor = models.ForeignKey(
Proveedor, related_name='estandares_producto', on_delete=models.CASCADE, blank=True, null=True)
carreras = models.ManyToManyField(Carrera, related_name="estandares_productos", blank=True)
class Proveedor(models.Model):
'''Datos de contacto de un proveedor de cotizaciones o de estandar.'''
nombre = models.CharField(max_length=500)
direccion = models.CharField(max_length=1000, blank=True, null=True)
correo = models.EmailField(blank=True, null=True)
telefono = models.CharField(max_length=12, blank=True, null=True)
def __str__(self):
return f"{self.nombre} - {self.direccion}"
Проблема в том, что печать возвращает 1, как и ожидалось, но когда я смотрю на базу данных, там нет никаких изменений.
ну, моя ошибка, потому что я не обновил экземпляр estandarProducto, который я использовал в моем JSON.