1
내 모델 중 하나와 ManyToMany 관계가 있습니다. 자식을 삭제할 때 관계를 제거하고 다른 개체에서 사용하고있는 것처럼 레코드를 남기고 싶습니다.특정 ManyToMany 관계를 올바르게 제거하는 방법은 무엇입니까?
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())
내가 특정 피드를 제거하고 싶습니다. 전부는 아니지만 –
좋습니다! remove()를 시도하지 않았습니다. –
./manage.py 쉘에서 digest.feeds.remove (피드) 코드를 사용해보십시오. 단일 피드 만 제거해야합니다. – istruble