Django 中设置联合约束和联合索引
创始人
2024-12-27 09:37:57
0
在Django 中对一张表的几个字段进行联合约束和联合索引,例如电商项目购物车的时候,登录的用户和商品两个字段在一起表示唯一记录。 

联合约束参见unique-together官方文档。

举个联合约束和联合索引例子:

class ShoppingCart(models.Model):     """     购物车     """     user = models.ForeignKey(User, verbose_name=u"用户", on_delete=models.CASCADE)     goods = models.ForeignKey(Goods, verbose_name=u"商品", on_delete=models.CASCADE)     nums = models.IntegerField(default=0, verbose_name="购买数量")      add_time = models.DateTimeField(default=datetime.now, verbose_name=u"添加时间")      class Meta:         verbose_name = '购物车'         verbose_name_plural = verbose_name         # 数据库的联合约束,用户和商品唯一,不可重复         unique_together = ("user", "goods")         # 联合索引         index_together = ["user", "goods"] 

最终底层转化为sql语句,如下:

CREATE UNIQUE INDEX index_name ON trade_shoppingcart(user, goods); 

相关内容

热门资讯

黑科技辅助!epoker外挂(... 黑科技辅助!epoker外挂(透视)软件教程(2024已更新)(哔哩哔哩)1、首先打开epoker外...
黑科技科技!德扑之星ai软件(... 黑科技科技!德扑之星ai软件(透视)原来是有挂(2022已更新)(哔哩哔哩)1、用户打开应用后不用登...
黑科技智能ai(wepoke黑... 黑科技智能ai(wepoke黑科技)wepower透视辅助效果(WEPoke)总是有挂(有挂解密)-...
黑科技实锤!WePoKe辅助器... 黑科技实锤!WePoKe辅助器真的有用吗(透视)外挂透明挂辅助器(2025已更新)(哔哩哔哩)1.W...
黑科技辅助!aapoker德州... 黑科技辅助!aapoker德州线上扑克辅助工具(透视)德州教程(2021已更新)(哔哩哔哩)1、操作...
黑科技教学!微扑克怎么提高中牌... 黑科技教学!微扑克怎么提高中牌率(透视)竟然真的是有挂(2020已更新)(哔哩哔哩)1、进入到微扑克...
黑科技玄学(wepoke黑科技... 黑科技玄学(wepoke黑科技)wepoke有透视挂吗(WePoke)本然真的是有挂(有挂秘诀)-哔...
玩家必看!aapoker软件有... 玩家必看!aapoker软件有猫腻吗(透视)外挂透明挂辅助黑科技(2022已更新)(哔哩哔哩)1、首...
黑科技辅助!微扑克数据辅助软件... 您好,微扑克数据辅助软件这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
黑科技ai代打!hm3德州辅助... 黑科技ai代打!hm3德州辅助怎么购买(透视)真是真的有挂(2022已更新)(哔哩哔哩);hm3德州...