微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django多条件筛选查询

转自:https://www.jianshu.com/p/a86281df530e

 

Django多条件筛选查询

主模型只存在外键一对多关系

模型设计

# 快捷筛选状态
class Status(models.Model):
    order_number = models.PositiveIntegerField(unique=True,verbose_name='状态编号')
    status_tag = models.CharField(max_length=10,verbose_name='状态名称')

    class Meta:
        ordering = ['order_number',]
        verbose_name = '事件选择'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.status_tag


# 项目分类
class Project(models.Model):
    project_name = models.CharField(max_length=10,verbose_name='项目名称')

    class Meta:
        ordering = ['project_name']
        verbose_name = '项目分类'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.project_name


# 事件分类
class Category(models.Model):
    category_name = models.CharField(max_length=10,verbose_name='分类名称')

    class Meta:
        ordering = ['category_name',]
        verbose_name = '事件分类'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.category_name


# 事件级别
class Level(models.Model):
    order_number = models.PositiveIntegerField(unique=True,verbose_name='级别编号')
    level_tag = models.CharField(max_length=10,verbose_name='级别名称')

    class Meta:
        ordering = ['order_number',]
        verbose_name = '事件级别'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.level_tag


# 事件内容
class EventContent(models.Model):
    title = models.CharField(max_length=50,verbose_name='事件标题')
    content = models.TextField(verbose_name='事件正文')
    image = models.ImageField(upload_to='images/%Y/%m',blank=True,null=True,verbose_name='描述图片')
    created = models.DateTimeField(auto_Now_add=True,verbose_name='创建时间')
    updated = models.DateTimeField(auto_Now=True,verbose_name='更新时间')
    status = models.ForeignKey(Status,on_delete=models.SET_NULL,related_name='event_content',verbose_name='事件状态')
    project = models.ForeignKey(Project,related_name='event_content'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐