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); 

相关内容

热门资讯

第五分钟掌握!aapoker辅... 第五分钟掌握!aapoker辅助功能,哈局八张模拟器(揭秘透视开挂辅助软件)1)哈局八张模拟器辅助挂...
必备辅助推荐!wepoker高... 必备辅助推荐!wepoker高级辅助“专业开挂透视挂辅助工具”;1.wepoker高级辅助 ai辅助...
一分钟了解“赣牌圈修改器”普及... 一分钟了解“赣牌圈修改器”普及开挂辅助工具-果然存在有挂1、赣牌圈修改器ai辅助优化,赣牌圈修改器发...
第6分钟知晓!wejoker开... 第6分钟知晓!wejoker开挂,广丰510k辅助(玩家透视开挂辅助神器)1、让任何用户在无需广丰5...
让我来分享经验!wepoker... 让我来分享经验!wepoker究竟有透视“新2026版开挂透视挂辅助安装”;wepoker究竟有透视...
第2分钟了解“三哥玩辅助器”专... 第2分钟了解“三哥玩辅助器”专业开挂辅助工具-其实是有挂1、三哥玩辅助器透视辅助简单,三哥玩辅助器软...
十分钟熟悉!来玩app破解版,... 十分钟熟悉!来玩app破解版,微乐陕西三代自建房可以提高胜率(安装透视开挂辅助技巧)1、微乐陕西三代...
推荐十款!wepoker高级辅... 推荐十款!wepoker高级辅助“解密开挂透视挂辅助下载”;wepoker高级辅助 ai辅助是一个元...
第六分钟了解“仙桃晃晃诀窍”安... 第六分钟了解“仙桃晃晃诀窍”安装开挂辅助插件-原来有挂1.仙桃晃晃诀窍 ai辅助创建新账号,点击进入...
十分钟指导!德普之星有辅助软件... 十分钟指导!德普之星有辅助软件,晟和互娱辅助(新2026透视开挂辅助软件);1、超多福利:超高返利,...