【问题标题】:add an object and delete another object at the same time添加一个对象同时删除另一个对象
【发布时间】:2021-03-15 16:23:49
【问题描述】:

我在django中有两个模型分别叫cattle和theft 我想介绍一个theft来删除获得的对象。不知道有没有可能。

class Ganado(models.Model):
    unidad = models.CharField(max_length=150)
    categoria = models.ForeignKey(Categoria, on_delete= models.CASCADE)
    raza = models.CharField(max_length=10, choices=raza_choices)
    color = models.CharField(max_length=10, choices=color_choices)
    nume_marca = models.PositiveIntegerField()
    lugar_marca = models.CharField(max_length=20, choices=marca_choices)

class Hurto (models.Model):
    fecha = models.DateField()
    ganado = models.OneToOneField(Ganado,null = True, on_delete = models.SET_NULL)

【问题讨论】:

    标签: django-models django-rest-framework django-views django-queryset django-signals


    【解决方案1】:

    我使用信号通过以下方式解决了我的问题:

    @receiver(post_save, sender= Hurto)
    def hurto_eli_fichaganado(sender, **kwargs):
        for hurtos in Hurto.objects.all().select_related('ganado'):
            for ganados in Ganado.objects.all():
                if hurtos.ganado==ganados:
                    ganados.delete()
                
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-14
      • 2015-05-27
      • 2020-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多