路飞项目-ContentType组件

Posted benson321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了路飞项目-ContentType组件相关的知识,希望对你有一定的参考价值。

ContentType组件

    -- 应用 价格策略 常见问题 优惠券
    -- 一张表跟多张表建立外键关系的
    -- 用法
        # 第一步 先生成ForeignKey字段 关联ContentType
        content_type = models.ForeignKey(to=ContentType)
        # 第二步 生成一个IntergerField 字段关联
        object_id = models.PositiveIntegerField()
        # 第三步 生成一个GenericForeignKey 把上面两个字段注册进去
        content_object = GenericForeignKey("content_type", "object_id")
    -- 创建和查询
        # 通过contentType找到OldBoy中所有的信息
        # content = ContentType.objects.filter(app_label="app01", model="oldboy").first()
        # oldboy_model = content.model_class()
        # ret = oldboy_model.objects.all()
        # print(ret)
        # 给Yuan局长加优惠券信息
        yuan_obj = OldBoy.objects.filter(id=2).first()
        Coupon.objects.create(name="苑局1000-750优惠券", content_object=yuan_obj)

        # alex_obj = OldBoy.objects.filter(id=1).first()
        # Coupon.objects.create(name="Alex打折优惠券", content_object=alex_obj)

        # 查询优惠券id=1的关联的商品
        # coupon_obj = Coupon.objects.filter(id=1).first()
        # goods_obj = coupon_obj.content_object
        # print(goods_obj)

        # 查询苑昊的优惠券
        yuan_obj = OldBoy.objects.filter(id=2).first()
        coupon_list = yuan_obj.coupons.all()
        print(coupon_list)

 

以上是关于路飞项目-ContentType组件的主要内容,如果未能解决你的问题,请参考以下文章

路飞项目背景,contentType以及django缓存

django组件之ContentType

django组件之contenttype

django组件之contenttype

19,django组件之contenttype

contentType