随心一记

一二三四五,上山打老鼠


  • 首页

  • 归档

  • 标签
ywcsb

ywcsb

游戏可以不玩,小说不能不看。

153 日志
3 分类
42 标签
RSS
GitHub 知乎 随心一记
Links
  • 随心一记
  • 追梦人物的
  • MSDN

Django model上下分表

发表于 2020-01-13 | 阅读 838 | 分类于 Python |

在Django中若想实现上下分表则需要重写 queryset 方法,显示同一张表,不同的显示字段。

在model 中需要继承原表, proxy 设置为 True。

class BannerCourse(Course):     # 继承原来表格
    class Meta:
        verbose_name = "***"
        verbose_name_plural = verbose_name
        proxy = True  # 不设置这个就会再生成一张表

然后在 adminx 中在将此模型进行 注册, 同原表 Course 一样的注册方式 ( xadmin 会视其为另一张表 )

此时的 重写 queryset 则为 is_banner = True 和原表进行上下分离 。

def queryset(self):
        qs = super(BannerCourseAdmin, self).queryset()
        qs = qs.filter(is_banner=True)      # 通过is_banner字段过滤表中的数据
        return qs
觉得不错,支持一下!
geerniya WeChat Pay

微信打赏

geerniya Alipay

支付宝打赏

# Python # Django
Linux Awk使用
解决Chrome浏览器无法打开K8S-Dashboard页面

发表评论

共 0 条评论

    暂无评论
© 2018 - 2022 ywcsb
冀ICP备17022045号-1
Supported by 腾讯云