未从数据库中删除的对象。Django,Django Rest框架

未从数据库中删除的对象。Django,Django Rest框架,django,django-models,django-rest-framework,sql-delete,Django,Django Models,Django Rest Framework,Sql Delete,我有以下型号: class Venue(models.Model): name = models.CharField(max_length=100) description = models.CharField(max_length=1000, null=True, blank=True) streetaddress1 = models.CharField(max_length=150) streetaddress2 = models.CharField(max_

我有以下型号:

class Venue(models.Model):
    name = models.CharField(max_length=100)
    description = models.CharField(max_length=1000, null=True, blank=True)
    streetaddress1 = models.CharField(max_length=150)
    streetaddress2 = models.CharField(max_length=150 ,null=True, blank=True)
    approved = models.BooleanField(default=False)
    declined = models.BooleanField(default=False)
    eventplannerstaff = models.BooleanField(default=False)
    declineddate = models.DateField(null=True, blank=True)
    declineddatestring = models.CharField(max_length=50, blank=True, null=True)
    declinereason = models.CharField(max_length=200, blank=True, null=True)


class Room(models.Model):
    venue = models.ForeignKey(Venue, on_delete=models.CASCADE)
    name = models.CharField(max_length=100, null=True, blank=True)
    online = models.BooleanField(default=False)
    description = models.CharField(max_length=1000, blank=True, null=True)
    privateroom = models.BooleanField(default=False)
    semiprivateroom = models.BooleanField(default=False)
    seatedcapacity = models.CharField(max_length=10, null=True, blank=True)
    standingcapacity = models.CharField(max_length=10, null=True, blank=True)
我有一个带有delete方法的REST端点

我正试图删除一个房间。房间与场地相连。我不是直接删除房间,因为我想用这种方法公开场地。权限代码尚未编写,但我想看看用户是否有权限在场馆房间内乱搞

delete方法正在工作,但实际上并没有从数据库中删除房间。我做错了什么

def delete(self, request, *args, **kwargs):
        venuepk = kwargs.get('venuepk', None)
        venue = get_object_or_404(Venue, pk=venuepk)
        venuerooms = venue.room_set.all()
        roompk = kwargs.get('roompk')
        roomobject = None
        for room in venuerooms:
            if room.pk == roompk:
               roomobject = Room.objects.get(pk=roompk)
               roomobject.delete()
               roomobject.save()
               return Response({})

        return Response(status.HTTP_404_NOT_FOUND)

实际上,您可以重新创建它们:

 roomobject.delete()
 roomobject.save()
第一行删除房间,第二行使用相同的ID再次保存房间。 如果要删除它们,只需调用
.delete()
删除即可

roomobject.save()
它将对象写回数据库