繁体   English   中英

如何在 Django 中显示子类别产品?

[英]How to Display SubCategory Products in Django?

我有类别、子类别和子子类别之间的关系,并且productsub child category相关,但我想显示subcategory产品的列表。 请让我知道我该怎么做。

这是我的models.py文件...

class Category(models.Model):
    cat_name=models.CharField(max_length=225)
    cat_slug=models.SlugField(max_length=225, unique=True)

class SubCategory(models.Model):
    subcat_name=models.CharField(max_length=225)
    subcat_slug=models.SlugField(max_length=225, unique=True)
    category = models.ForeignKey('Category', related_name='subcategoryies', on_delete=models.CASCADE, blank=True, null=True)


class SubChildCategory(models.Model):
    subcategory=models.ForeignKey(SubCategory, related_name='SubChildRelated', on_delete=models.CASCADE, default=None, verbose_name='Sub Category')
    name=models.CharField(max_length=50, default=None)
    slug=models.SlugField(unique=True, max_length=50)

这是我的product models.py文件...

class Product(models.Model):
    name=models.CharField(max_length=225)
    slug=models.SlugField(max_length=225, unique=True)
    subcategory=models.ManyToManyField(SubChildCategory, related_name='pro_subchild', verbose_name='Select Category')

这是我的views.py文件,我试图在其中显示SubCategory产品...

def home(request):
    subcat_product = Product.objects.prefetch_related('subcategory')
    return render(request, 'frontend/index.html',{'subcat_product':subcat_product}

但上述功能显示了所有这在可用的产品SubChildCategory ,我想展示产品根据SubCategory在我的主页。

请让我知道展示这些产品的过程是什么。

我认为它应该有效:

# You can also get your sub category by id
sub_child_categories = SubCategory.objects.get(
    slug=your_sub_category_slug
).SubChildRelated.all()

subcat_products = Product.object.none()

for sub_child_category in sub_child_categories:
    subcat_products |= sub_child_category.pro_subchild.all()

subcat_productsSubCategory subcat_products拥有的所有产品。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM