我有像这样的标准用户模型和类别模型;
class Categories(models.Model):
name=models.CharField(max_length=100)
def __str__(self):
return self.name
这是另一个关系类,它将一些用户与某些类别联系起来;
class Interested(models.Model):
user = models.ManyToManyField(User)
category = models.ManyToManyField(Categories)
例如,如果我有Bob,Eric,Oliver,Michael等用户
和篮球,足球等类别
和那样的关系
Bob - >篮球,足球
Eric->篮球
Oliver - >足球
(迈克尔对任何事情都不感兴趣)
我想得到谁对什么感兴趣的清单?我怎么处理这个?谢谢你的帮助。
答案 0 :(得分:0)
您可以通过以下方式获取对用户感兴趣的实例:
print
并按以下方式列出链接的分类:
interested = Interested.objects.get(user="your user")
但是,如果不是出于任何其他原因,我会直接将该类别直接链接到用户....
interested.category.all()
这样您就可以获得用户的分类:
class Category(models.Model):
name = models.Charfield()
user = models.ManyToManyField(user)
如果您将此传递给模板,请执行以下操作:
categorys = Category.objects.filter(user="youruser")
要让用户对某个类别感兴趣,只需使用以下命令获取Category实例:
{% for category in categorys %} {{ category.name }}{% endfor %}
以及相关的用户模型:
category = Category.objects.get(name="categoryname")
如果你想为所有类别使用这个,只需使用普通的for循环:
usersincategory = category.user.all()