我正在处理一个呈现产品列表的模板。 我希望用户根据产品的属性过滤内容。
这些是我的模特: """ Coutries,region和cities表 """
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个位置输入: - 国家,地区和城市。 我想我应该实现一个Dependent / Chained Dropdown 我想按国家,地区和城市过滤产品。
在另外2个输入(复选框以选择多项选择)中,用户可以选择类别和子类别来过滤相关产品。
我该如何实现? 我想我需要Ajax和Json渲染。但我无法找到合适的方法来做到这一点。