Hi all
I have a developed model where I have 2 foreing keys. Depending on a condition, one must be equal to blank and the other must be assigned the corresponding key.
But I get this output:
django.db.utils.IntegrityError: NOT NULL constraint failed: callserviceapp_ordengeneral.rubro_company_id
This is the model:
As you can see, rubro_company has blank = True and null = True
class ordenGeneral (models.Model):
id = models.AutoField(primary_key=True)
client_email = models.EmailField(blank=True)
proveedor_email=models.EmailField(blank=True)
rubro= models.ForeignKey(item,blank=True,default=None,on_delete=models.CASCADE)
rubro_company = models.ForeignKey(item_company,blank=True,null=True,on_delete=models.CASCADE)
ticket = models.IntegerField(default=1000, blank=True)
location_lat = models.FloatField(default=None, blank=True)
location_long = models.FloatField(default=None, blank=True)
day = models.TextField(default="Lunes Martes Miercoles Jueves Viernes")
time = models.TimeField(default=None, blank=True)
tituloPedido = models.TextField(default="Solicitud de pedido")
problem_description = models.TextField(default=None, blank=True)
picture1=models.ImageField(default=None, blank=True)
picture2=models.ImageField(default=None,blank=True)
presupuesto_inicial=models.FloatField(default=0)
pedido_mas_información=models.TextField(default=0)
respuesta_cliente_pedido_mas_información=models.TextField(default=0)
picture1_mas_información=models.ImageField(default=None, blank=True)
picture2_mas_información=models.ImageField(default=None,blank=True)
motivo_rechazo=models.TextField(default=None, blank=True)
califico_el_cliente=models.BooleanField(default=False)
califico_el_proveedor=models.BooleanField(default=False)
calificacion_proveedor= models.IntegerField(default=0)
calificacion_cliente=models.IntegerField(default=0)
resena_al_proveedor=models.TextField(default = None, blank=True)
resena_al_cliente=models.TextField(default = None, blank=True)
This is the function that adds a new row to the database. With the line #new.rubro_company (its a comment)
new=ordenGeneral()
new.rubro=rubro
#new.rubro_company
new.location_lat= clienteLat
new.location_long=clienteLong
new.tituloPedido=tituloPedido
if diaPedido and diaPedido!=None:
new.day=diaPedido
else:
new.day=datetime.date(1997, 10, 19)
if horaPedido and horaPedido!=None:
new.time=horaPedido
else:
new.time=datetime.time(0, 0, 0)
new.problem_description=descripcion_problema
new.direccion=direccion_pedido
if request.FILES.get("imagen1"):
new.picture1= request.FILES.get("imagen1")
if request.FILES.get("imagen2"):
new.picture2=request.FILES.get("imagen2")
new.client_email=clienteEmail
new.proveedor_email=ProveedorEmail
ticket_numero=ordenGeneral.objects.count()+ordenEmergencia.objects.count()+1000
new.ticket=ticket_numero
new.motivo_rechazo=""
new.resena_al_proveedor=""
new.resena_al_cliente=""
new.save()