1
我与我的一个模型有许多关系。在删除一个孩子时,我想删除这个关系,但留下记录,因为它可能正在被其他对象使用。在调用delete看法,我得到一个AttributeError错误:如何正确删除特定的ManyToMany关系?
Exception Value: 'QuerySet' object has no attribute 'clear'
这是我的models.py:
class Feed(models.Model):
username = models.CharField(max_length=255, unique=True)
class Digest(models.Model):
name = models.CharField(max_length=255)
user = models.ForeignKey(User)
items = models.PositiveIntegerField()
keywords = models.CharField(max_length=255, null=True, blank=True)
digest_id = models.CharField(max_length=20, unique=True)
time_added = models.DateTimeField(auto_now_add=True)
active = models.BooleanField(default=1)
feeds = models.ManyToManyField(Feed)
而且views.py的相关章节:
def feed_delete(request, id):
digest = get_object_or_404(Digest, id=id)
if digest.user == request.user:
Feed.objects.get(id=request.POST.get('id')).digest_set.filter(id=id).clear()
return HttpResponseRedirect(digest.get_absolute_url())
我想删除特定的Feed但不是全部 – 2009-12-14 18:45:07
太棒了!我没有尝试删除() – 2009-12-14 19:01:33
尝试digest.feeds.remove(feed)代码./manage.py外壳。它应该只能删除单个Feed。 – istruble 2009-12-14 19:09:20