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

相关内容

热门资讯

黑科技辅助(WPK统计)外挂透... 黑科技辅助(WPK统计)外挂透明挂辅助神器(透视)一直存在有挂(2022已更新)(哔哩哔哩);1、这...
一分钟了解(Wepoke自建房... 一分钟了解(Wepoke自建房)总是有挂(透视)本来真的是有挂(确实有挂)-哔哩哔哩;人气非常高,a...
推荐十款(云扑克是真是假)外挂... 推荐十款(云扑克是真是假)外挂透明挂辅助软件(约局吧)透明挂软件(本然有挂)-哔哩哔哩;详细云扑克是...
分享一款!长乐麻将有挂(辅助挂... 分享一款!长乐麻将有挂(辅助挂)本来真的有挂(有挂助手)-哔哩哔哩;1、许多玩家不知道长乐麻将有挂辅...
黑科技辅助(德扑机器人)外挂透... 黑科技辅助(德扑机器人)外挂透明挂辅助挂(透视)先前有挂(2022已更新)(哔哩哔哩)是一款可以让一...
实测发现(悟空黑桃a有ai)切... 实测发现(悟空黑桃a有ai)切实真的有挂(透视)先前是有挂(有挂技巧)-哔哩哔哩是一款可以让一直输的...
玩家必看教程(WePoKe黑科... 【福星临门,好运相随】;玩家必看教程(WePoKe黑科技功能)外挂透明挂辅助插件(wepoke德州)...
玩家实测!七千游戏可以开挂(辅... 玩家实测!七千游戏可以开挂(辅助挂)原来有挂(有挂方针)-哔哩哔哩;最新版2026是一款经典耐玩的益...
黑科技辅助(微扑克分析器)外挂... 您好,微扑克分析器这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款...
推荐一款(微扑克新版)素来是真... 您好,微扑克新版这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游...