我想代表有多個成員(每個成員也可以加入多個俱樂部)的俱樂部。Django - 我應該使用通過表來結構M2M關係
我創建了下面的模型
class Club(models.Model):
name=models.CharField(max_length=100)
admin=models.ManyToManyField(User, related_name='club_admins')
member=models.ManyToManyField(User, related_name='memberships')
posts=models.ManyToManyField(Post, blank=True, null=True)
description=models.TextField(max_length=500,blank=True)
public=models.BooleanField(default=True)
password=models.CharField(max_length=30, blank=True)
def __unicode__(self):
return self.name
現在我的問題是,我與關聯帖子俱樂部,我不知道如何再撇清他們不刪除所有關聯的。
這可能不完全清楚。我有一個包含下面的代碼片段一個觀點:
if request.POST.get('clubs'):
clubs=request.POST['clubs'].split(',')
p=int(post.id)
old_clubs=Club.objects.filter(posts__pk=p)
for o in old_clubs:
#figure out how to disassociate the club with this post
for a in clubs:
group=Club.objects.get(name=a)
group.posts.add(post)
什麼我試圖做的是清除掉所有與此發表M2M關係,然後形成新的合作關係的老俱樂部。這全部基於用戶編輯他們的帖子。
我不確定如何在不刪除所有俱樂部或所有帖子或與俱樂部相關的所有帖子(而不是僅選擇帖子)的情況下獲得該中間表。
謝謝!
這工作Fallen。不知道爲什麼我很困惑。謝謝! – Ben 2011-06-14 17:12:35