0

我有以下两个数据库模型:

class UserProfile(models.Model):
    description = models.TextField()

class Channel(models.Model):
    subscribed = models.ManyToManyField(UserProfile, 
                                        related_name="subscribed")

给定一个频道,我想在一列中显示订阅该频道的用户,在另一列中显示未订阅该频道的用户。获取订阅频道的用户没有问题。如何选择未订阅频道的用户以及发送未订阅用户的用户资料对象。

4

2 回答 2

2

只需使用exclude而不是filter.

于 2012-09-13T11:09:04.417 回答
0
c = Channel.objects.get(pk=1)
subscribed = c.subscribed_set.all()
not_subscribed = UserProfile.objects.exclude(pk__in=[s.pk for s in subscribed])
于 2012-09-13T11:09:52.907 回答