电商项目商品表关系广告类别表

简介: 电商项目商品表关系广告类别表

广告类别表ContentCategory(tb_content_category)与 Content(tb_content)

tb_content_category该表作为一个外键链接对象用来链接tb_content , 获得轮播图, 快讯等主页广告类别

class ContentCategory(BaseModel):
    """广告内容类别"""
    name = models.CharField(max_length=50, verbose_name='名称')
    key = models.CharField(max_length=50, verbose_name='类别键名')
    class Meta:
        db_table = 'tb_content_category'
        verbose_name = '广告内容类别'
        verbose_name_plural = verbose_name
    def __str__(self):
        return self.name

ContentCategory(tb_content_category)

Content(tb_content)

可以观察到两张表实际上是通过category_id这个键进行关联的 , 也就是说这两张表实际上实现的功能也就是下图中主页的所有数据

所以在写入的过程中 , 首先是要通过主表获取所的分类 , 然后在通过主表的ID , 因为外键对象关联的ID等于主表的ID , 通过这个来获取到数据

class GoodsCategory(BaseModel):
    """商品类别"""
    name = models.CharField(max_length=10, verbose_name='名称')
    parent = models.ForeignKey('self', related_name='subs', null=True, blank=True, on_delete=models.CASCADE, verbose_name='父类别')
    class Meta:
        db_table = 'tb_goods_category'
        verbose_name = '商品类别'
        verbose_name_plural = verbose_name
    def __str__(self):
        return self.name
class GoodsChannelGroup(BaseModel):
    """商品频道组"""
    name = models.CharField(max_length=20, verbose_name='频道组名')
    class Meta:
        db_table = 'tb_channel_group'
        verbose_name = '商品频道组'
        verbose_name_plural = verbose_name
    def __str__(self):
        return self.name
class GoodsChannel(BaseModel):
    """商品频道"""
    group = models.ForeignKey(GoodsChannelGroup, verbose_name='频道组名', on_delete=models.CASCADE)
    category = models.ForeignKey(GoodsCategory, on_delete=models.CASCADE, verbose_name='顶级商品类别')
    url = models.CharField(max_length=50, verbose_name='频道页面链接')
    sequence = models.IntegerField(verbose_name='组内顺序')
    class Meta:
        db_table = 'tb_goods_channel'
        verbose_name = '商品频道'
        verbose_name_plural = verbose_name
    def __str__(self):
        return self.category.name


相关文章
|
安全 数据挖掘 Linux
Linux命令rpm深度解析
`rpm`是Linux下的软件包管理器,用于安装、升级、卸载和查询`.rpm`包,常见于Red Hat系Linux。它管理依赖、维护软件信息数据库,支持版本控制和安全验证。常用命令如`-i`安装,`-U`升级,`-e`卸载,`-q`查询。安装时用`-v`和`-h`可查看详细信息和进度。注意依赖关系、权限和签名验证,最佳实践包括使用仓库、定期更新和备份数据。
|
计算机视觉
OpenCV3 和 Qt5 计算机视觉:1~5
OpenCV3 和 Qt5 计算机视觉:1~5
471 0
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
AI训练师入行指南(五):模型评估
本文从珠宝鉴定类比出发,探讨AI模型从训练到优化的全流程。首先介绍模型评估的四大核心指标:准确率、精确率与召回率、F1-Score及AUC-ROC,帮助明确模型性能。接着分析阈值调节、正则化与集成学习等调优方法的实际应用,如支付宝动态人脸识别和腾讯金融风控系统。此外,针对GPT-4o、Stable Diffusion和滴滴ETA模型的具体案例,展示参数微调与审美争议解决策略。最后提供避坑指南,强调数据泄漏、过拟合和冷启动问题的应对之道,总结模型评估应以商业价值、伦理规范和用户体验为导向,确保AI模型真正成为“智能珍宝”。
579 0
|
编解码 供应链 搜索推荐
VR技术在教育领域的应用前景:开启沉浸式学习新时代
【8月更文挑战第24天】VR技术在教育领域的应用前景广阔,它将为传统教育带来革命性的变革。通过提供沉浸式的学习体验和个性化的学习方式,VR技术能够激发学生的学习兴趣和动力,提高学习效果和综合素质。我们有理由相信,在未来的日子里,VR技术将成为教育领域的重要工具之一,为学生们带来更加丰富多彩的学习体验。让我们共同期待VR技术在教育领域的美好未来吧!
|
存储 JSON Ubuntu
时序数据库 TDengine 支持集成开源的物联网平台 ThingsBoard
本文介绍了如何结合 Thingsboard 和 TDengine 实现设备管理和数据存储。Thingsboard 中的“设备配置”与 TDengine 中的超级表相对应,每个设备对应一个子表。通过创建设备配置和设备,实现数据的自动存储和管理。具体操作包括创建设备配置、添加设备、写入数据,并展示了车辆实时定位追踪和车队维护预警两个应用场景。
623 3
|
监控 安全 网络性能优化
html静态网页实例一(附完整代码)
html静态网页实例一(附完整代码)
2989 1
html静态网页实例一(附完整代码)
|
数据可视化 前端开发 JavaScript
基于python flask +pyecharts实现的气象数据可视化分析大屏
本文介绍了一个基于Python Flask和Pyecharts技术实现的气象数据可视化分析大屏,该系统通过图表展示气象数据,提供实时监测和数据分析功能,帮助用户和决策者进行有效应对措施的制定。
672 0
|
Ubuntu 关系型数据库 MySQL
Ubuntu彻底卸载MySQL,彻底!亲测!
Ubuntu彻底卸载MySQL,彻底!亲测!
2103 0