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

相关内容

热门资讯

九分钟了解!同城游棋牌到底有挂... 九分钟了解!同城游棋牌到底有挂没(辅助挂)固有是有挂(专业辅助必胜教程)-哔哩哔哩;同城游棋牌到底有...
透视苹果版!wepoker私人... 透视苹果版!wepoker私人局规律(透视)底牌透视挂辅助下载(可靠开挂辅助wpk教程)-哔哩哔哩,...
黑科技辅助!微扑克操作(智能a... 您好:微扑克操作这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
透视安装!wepoker可以挂... 透视安装!wepoker可以挂底牌,微乐小程序辅助脚本平台,扑克教程(确实有挂)-哔哩哔哩1、首先打...
6分钟了解!老友互娱游戏软件(... 6分钟了解!老友互娱游戏软件(辅助挂)总是存在有挂(专业辅助黑科技教程)-哔哩哔哩;1、很好的老友互...
黑科技辅助!德州机器人软件(智... 黑科技辅助!德州机器人软件(智能ai辅助插件安装)软件透明挂黑科技(一向真的是有挂)-哔哩哔哩是一款...
透视了解!拱趴大菠萝万能挂(透... 透视了解!拱趴大菠萝万能挂(透视)底牌透视挂辅助程序(可靠开挂辅助微扑克教程)-哔哩哔哩;详细拱趴大...
透视能赢!wepoker辅助器... 透视能赢!wepoker辅助器下载,yy比鸡脚本,攻略教程(有挂存在)-哔哩哔哩1、完成wepoke...
黑科技辅助!微扑克超级统计(智... 黑科技辅助!微扑克超级统计(智能ai辅助工具)软件透明挂黑科技(竟然有挂)-哔哩哔哩;1、超多福利:...
第9分钟了解!边锋斗地主好友局... 第9分钟了解!边锋斗地主好友局怎样拿好牌(辅助挂)切实真的有挂(专业辅助曝光教程)-哔哩哔哩是一款可...