美文网首页
自表关联的模型写法

自表关联的模型写法

作者: 入间 | 来源:发表于2018-07-06 21:42 被阅读0次

​ 在这里以购物网站商品分类为例

class GoodsCategory(models.Model):
    """
    商品类别
    """
    CATEGORY_TYPE = (
        (1, "一级类目"),
        (2, "二级类目"),
        (3, "三级类目"),
    )

    name = models.CharField(default="", max_length=30, verbose_name="类别名", help_text="类别名")
    code = models.CharField(default="", max_length=30, verbose_name="类别code", help_text="类别code")
    desc = models.TextField(default="", verbose_name="类别描述", help_text="类别描述")
    category_type = models.IntegerField(choices=CATEGORY_TYPE, verbose_name="类目级别", help_text="类目级别")
    # 自表关联   外键为 'self'
    parent_category = models.ForeignKey("self", null=True, blank=True, verbose_name="父类目级别", help_text="父目录",
                                        related_name="sub_cat")
    is_tab = models.BooleanField(default=False, verbose_name="是否导航", help_text="是否导航")
    add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")

    class Meta:
        verbose_name = "商品类别"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.name

parent_category=models.ForeignKey("self",null=True,blank=True,related_name="sub_cat")

因为一级类的商品没有它的父类了,所以null=True需要写一下

迁移后,数据表如下图所示: 商品类型表.png

本文为个人学习记录所用

.

相关文章

  • 自表关联的模型写法

    ​ 在这里以购物网站商品分类为例 parent_category=models.ForeignKey("sel...

  • Mysql 创建关联表写法

    创建关联表写法 FOREIGN KEY(pid) references sheng(id));为关联省份表id的写法

  • ThinkPHP 查询语句集(持续更新)

    多个排序条件写法: 不使用关联模型快速多表查询方法 用于数据量大,使用关联表要对两个表所有数据查询,性能降低;如果...

  • Odoo外键约束

    Odoo 的模型关联是直接使用postgresql数据库的表外键。Odoo的写法如下: 其中ondelete属性值...

  • Django模型(四)

    Django模型 知识点: 表关联对象 多表查询 表关联对象 前向查询 如果一个模型具有ForeignKey,那么...

  • Egg-sequelize学习笔记

    模型关联 1.定义模型 user表: auth_group表(记录用户权限表): auth_group_acces...

  • Thinkphp 模型和数据库:模型关联

    模型的关联操作是模型的最为强大,也是最为复杂的部分,通过模型关联操作把数据表的关联关系对象化,解决了大部分常用的关...

  • laravel关联模型N+1问题注意点

    关联模型最大的优势是关联好了模型,我们不必再代码中写那么多的表关联来取数据,可以简单的几行代码即可取出复杂的关联模...

  • 2018-08-15 视图 事务 自关联查询

    自关联查询 自关联:自连接查询其实等同于连接查询, 需要两张表,只不过它的左表(父表)和右表(子表) 都是自己。做...

  • node+mongoose聚合查询两张表(列表---详情)

    列表的表模型是这样的: 详情的表模型是这样的: 查询指定机构的简介和详情,两个表关联 (简介 --- 详情) 最...

网友评论

      本文标题:自表关联的模型写法

      本文链接:https://www.haomeiwen.com/subject/rwzbuftx.html