我正在开发一个呈现产品列表的模板。我希望用户根据产品的属性过滤内容。
这些是我的模型:"""国家、地区和城市表"""
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 渲染。但是我找不到合适的方法来做到这一点。