前言

  在浏览淘宝网页时,在找不到中意的商品时,在页面顶部有诸多的搜索条件供于点击联合查询。

  那么,接下来可以做一个小DEMO,如图...

      用Django实现Video页面分类查询

Model表创建,Url映射,Views函数处理

根据上图,视频方向与视频分类是多对多的关系,视频分类与视频信息是一对多的关系,难度级别是单一的查询条件(与之前俩者并无关系)

Models.py如下:

class Direction(models.Model):
    """ 视频方向 """
    weight = models.IntegerField(verbose_name='权重(从大到小)', default=0)
    name = models.CharField(verbose_name='名称', max_length=32)

    classification = models.ManyToManyField('Classification')

    class Meta:
        db_table = 'Direction'
        verbose_name_plural = '方向(视频方向)'

    def __str__(self):
        return self.name


class Classification(models.Model):
    """ 视频分类表 """
    weigth = models.IntegerField(verbose_name='权重(从大到小)', default=0)
    name = models.CharField(verbose_name='名称', max_length=32)

    class Meta:
        db_table = 'Classification'
        verbose_name_plural = '分类(视频分类)'

    def __str__(self):
        return self.name


class Video(models.Model):
    """ 视频信息表 """
    status_choice = (
        (0, '下线'),
        (1, '上线'),
    )
    level_choice = (
        (1, '初级'),
        (2, '中级'),
        (3, '高级'),
    )
    status = models.IntegerField(verbose_name='状态', choices=status_choice, default=1)
    level = models.IntegerField(verbose_name='级别', choices=level_choice, default=1)
    classification = models.ForeignKey('Classification', null=True, blank=True)

    weight = models.IntegerField(verbose_name='权重(从大到小)', default=0)
    title = models.CharField(verbose_name='标题', max_length=32)
    summary = models.CharField(verbose_name='简介', max_length=32)
    img = models.ImageField(verbose_name='图片', upload_to='./static/images/Video/')
    href = models.CharField(verbose_name='视频地址', max_length=255)

    create_date = models.DateTimeField(auto_now_add=True)

    class Meta:
        db_table = 'Video'
        verbose_name_plural = '视频'

    def __str__(self):
        return self.title
models.py

相关文章:

  • 2021-05-16
  • 2021-07-12
  • 2021-11-19
  • 2021-11-29
  • 2021-12-22
猜你喜欢
  • 2021-08-14
  • 2021-09-02
  • 2021-11-13
  • 2021-10-16
  • 2021-12-03
  • 2021-11-13
相关资源
相似解决方案