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

相关内容

热门资讯

科普常识!牵手跑辅助(辅助挂)... 科普常识!牵手跑辅助(辅助挂)新版2025教程(规律作弊开挂辅助插件);科普常识!牵手跑辅助(辅助挂...
第7分钟了解!湛江吴川0759... 第7分钟了解!湛江吴川0759程序,werplan辅助软件,技巧教程(原来是真的有挂);第7分钟了解...
透视透视"we po... 透视透视"we poker插件"详细开挂作弊辅助黑科技(起初是有挂);透视透视"we poker插件...
第五次性普及“阿拉斗牌脚本”详... 第五次性普及“阿拉斗牌脚本”详细作弊开挂辅助器(总是存在有挂)是一款可以让一直输的玩家,快速成为一个...
程序员教你!wepoker分析... 程序员教你!wepoker分析(透视)切实教程(力荐作弊开挂辅助工具);程序员教你!wepoker分...
第9分钟了解!指尖四川辅助破解... 第9分钟了解!指尖四川辅助破解版,德州hhpoker是真的,详细教程(原先存在有挂);1、超多福利:...
透视好牌"epoke... 透视好牌"epoker透视底牌"解迷开挂作弊辅助插件(都是是有挂);致您一封信;亲爱epoker透视...
第七次性普及“心悦可以开挂”发... 第七次性普及“心悦可以开挂”发现作弊开挂辅助下载(原先有挂)是一款可以让一直输的玩家,快速成为一个“...
科技介绍!浙江宝宝游戏辅助脚本... 科技介绍!浙江宝宝游戏辅助脚本(辅助挂)教你攻略(透牌作弊开挂辅助软件)是一款可以让一直输的玩家,快...
三分钟了解!雀友会手机透视辅助... 三分钟了解!雀友会手机透视辅助器app,wpk模拟器是有挂,可靠教程(从前真的有挂),雀友会手机透视...