Python 如何删除Django中多个字段的实例

Python 如何删除Django中多个字段的实例,python,django,Python,Django,我试图删除Django中多个字段的一个实例。 我试过这个,但不起作用: act = Activity.objects.get(pk=pk) act.save() attendee, _ = Attendee.objects.get_or_create(student=request.user) **act.attendee.delete(attendee)** return... 这样做的目的是删除特定活动的主键指定的参与者 这些是我的模型: class Attendee(models.Mod

我试图删除Django中多个字段的一个实例。 我试过这个,但不起作用:

act = Activity.objects.get(pk=pk)
act.save()
attendee, _ = Attendee.objects.get_or_create(student=request.user)
**act.attendee.delete(attendee)**
return...
这样做的目的是删除特定活动的主键指定的参与者

这些是我的模型:

class Attendee(models.Model):
student = models.ForeignKey(User, related_name="attendee")

class Activity(models.Model):
type = models.CharField(max_length=50, default="")
title = models.CharField(max_length=200, default="")
description = models.CharField(max_length=500)
owner = models.ForeignKey(User, related_name="owner")
college = models.CharField(max_length=200)
location = models.CharField(max_length=200)
room = models.CharField(max_length=200)
startDate = models.DateTimeField(null=True, blank=True)
endDate = models.DateTimeField(null=True, blank=True)
attendee = models.ManyToManyField(Attendee, related_name="attendees",null=True, blank=True)

要删除多个关系,请使用remove()而不是delete

act.attendee.remove(attendee)
我还建议更改命名约定以提高可读性

class Activity(models.Model):
    attendees = models.ManyToManyField(Attendee, related_name="activities", null=True, blank=True)
因此,删除逻辑将是

act.attendees.remove(attendee)
也可以使用反向关系删除

attendee.activities.remove(act)