使用ajax过滤Django中的内容

时间:2018-03-24 14:30:10

标签: javascript python django django-ajax-selects

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

这些是我的模特: """ 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渲染。但我无法找到合适的方法来做到这一点。

0 个答案:

没有答案