为每个类别分别获取行 - django ORM

Get row separately for each category - django ORM

我有以下型号:

class Category(models.Model):
    name = models.CharField(max_length=100, null=False, blank=False)
    description = models.CharField(max_length=500, null=True, blank=True)


class Website(models.Model):
    ...
    category = models.ManyToManyField('Category', related_name='website_category')
    ...

由于每个网站可以有多个类别,所以我想为每个类别多次获取每个网站。

例如:

网站 1 有类别:类别 1、类别 2
网站 2 有类别:类别 2、类别 3

所需输出:

网站 类别
网站 1 类别 1
网站 1 类别 2
网站 2 类别 2
网站 2 类别 3

我对 Django ORM 比较陌生,无法构建查询来获取所需的结果,因此非常感谢任何帮助。

获取网站下的所有分类,

web1 = Website.objects.get(id='your_id')
web1.category.all()

获取类别下的所有网站,

cat1 = Category.objects.get(id='your_id')
cat1.website_set.all()

您可以通过此代码

获取创建的连接table
Website.category.through.objects.all()