如何使用Django将日期保存到数据库中?

时间:2018-11-22 19:17:46

标签: django date format

这是我的代码

views.py

def guardar(request):
    if request.method == "POST":
        idpersona = int(request.POST.get('id'))
        persona = personal.objects.get(id=idpersona)
        idep = int(request.POST.get('dependencia'))
        dep = dependencia.objects.get(id=idep)
        idcon = int(request.POST.get('concepto'))
        con = concepto.objects.get(id=idcon)
        fecha = request.POST.get('fecha')
        print(fecha)
        db_registro = lista_registro(
            personal_id=persona,
            fecha_registro=fecha,
            dependencia_id=dep,
            concepto_id=con,
            descripcion=request.POST.get('descripcion'),
            monto=request.POST.get('monto'),
        )
        db_registro.save()

    return render(request, 'registro/exito.html')

Models.py

class lista_registro(models.Model):
    personal_id = models.ForeignKey(personal, on_delete=models.CASCADE)
    dependencia_id = models.ForeignKey(dependencia, on_delete=models.CASCADE)
    concepto_id = models.ForeignKey(concepto, on_delete=models.CASCADE)
    fecha_realizado = models.DateField()
    fecha_registro = models.DateField(auto_now_add=True)
    descripcion = models.CharField(max_length=1000)
    pago_id = models.ForeignKey(pago, on_delete=models.CASCADE, default=2)
    monto = models.CharField(max_length=100)
    def __str__(self):
           return "===> " + self.descripcion + " <==="

好吧,我的问题是我收到了一个非空约束错误。我知道这是一个日期错误,但我不知道如何解决

1 个答案:

答案 0 :(得分:0)

当您定义不需要的字段时,只需在模型文件上设置null = True,blank = True

fecha_realizado = models.DateField(null=True, blank=True)