如何解决信号未保存 Django
我无法成功保存包含通过信号创建的 ID 的实例 code_nc
。
class NoConform(BaseModel):
no_conform = models.CharField(max_length=1500,verbose_name='No Conforme')
origin = models.CharField(max_length=30,verbose_name='Origen',choices=OriginNoconform.choices)
correction = models.CharField(max_length=500,verbose_name='Corrección')
treatment = models.CharField(max_length=30,default='Abierto',verbose_name='Estado',choices=TreatmentNoConform.choices)
assigned = models.ForeignKey(Process,verbose_name='Proceso',on_delete=models.CASCADE)
actions = models.CharField(max_length=20,verbose_name='Plan de Acción')
code_nc = models.CharField(max_length=20,verbose_name='Código')
response_nc = models.CharField(max_length=150,verbose_name='Responsable')
evidence = models.FileField(upload_to='no_conform/%Y%m%d',max_length=200,verbose_name='Evidencias Complementarias',null=True,blank=True)
date_event = models.DateTimeField(verbose_name='Fecha y Hora de Ocurrencia',blank=True)
nc_resume = models.CharField(max_length=150,verbose_name='Defecto',blank=True)
def __str__(self):
return f'{self.nc_resume},{self.id}'
class Meta:
db_table = 'No_Conform'
verbose_name = 'No_Conform'
verbose_name_plural = 'No_Conform'
@receiver(post_save,sender='noconform.NoConform')
def post_save_function(sender,instance,**kwargs):
seq = instance.id
year = datetime.Now ().strftime('%Y')
instance.code_nc = 'NC' + year + str (seq)
def save(self,force_insert=False,force_update=False,using=None,update_fields=None,*args,**kwargs):
user = get_current_user()
if user is not None:
if not self.pk:
self.user_creation = user
else:
self.user_updated = user
return super(NoConform,self).save(*args,**kwargs)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。