2

我正在开发一个呈现产品列表的模板。我希望用户根据产品的属性过滤内容。

这些是我的模型:"""国家、地区和城市表"""

class Country(models.Model):
    name = models.CharField(max_length=200)


class Region(models.Model):
    name = models.CharField(max_length=200)
    country = models.ForeignKey(
        Country,
        on_delete=models.CASCADE)

class City(models.Model):
    name = models.CharField(max_length=200)
    region = models.ForeignKey(
        Region,
        on_delete=models.CASCADE)

""" 类别及其子类别表 """

class Category(models.Model):
    name = models.CharField(max_length=200)

class Subcategory(models.Model):
    name = models.CharField(max_length=200)
    Subcategory = models.ForeignKey(
        Category,
        on_delete=models.CASCADE)

"""产品表"""

class Product(models.Model):
    name = models.CharField(max_length=200)
    Description = models.TextField()

"""产品位置表"""

class ProductLocation(models.Model):
    Address = models.CharField(max_length=200)
    country = models.ForeignKey(
        Country,
        on_delete=models.CASCADE)
    region = models.ForeignKey(
        Region,
        on_delete=models.CASCADE)
    city = models.ForeignKey(
        City, 
        on_delete=models.CASCADE)
    product = models.ForeignKey(
        Product,
        on_delete=models.CASCADE)

"""产品分类"""

class ProductClassification(models.Model):

    category = models.ForeignKey(
        Category,
        on_delete=models.CASCADE)

    subcategory = models.ForeignKey(
        Subcategory,
        on_delete=models.CASCADE)

    product = models.ForeignKey(
        Product,
        on_delete=models.CASCADE)

在页面中,我将有 3 个位置输入: - 国家、地区和城市。我想我应该实现一个依赖/链式下拉列表,我想按国家、地区和城市过滤产品。

在另外 2 个输入(选择多项选择的复选框)中,用户可以选择类别和子类别来过滤相关产品。

我该如何实现呢?我认为我将需要 Ajax 和 Json 渲染。但是我找不到合适的方法来做到这一点。

4

0 回答 0