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

相关内容

热门资讯

透视窍门!菠萝德州透视脚本,开... 透视窍门!菠萝德州透视脚本,开心十三张技巧(辅助)其实真的有方法(哔哩哔哩)1、进入游戏-大厅左侧-...
透视项目!wpk辅助购买,WP... 透视项目!wpk辅助购买,WPK软件竟然是有辅助,九分钟教程(竟然有挂)所有人都在同一条线上,像星星...
透视法门!werplan脚本,... 透视法门!werplan脚本,泸州大二实战技巧(辅助)都是是有教程(哔哩哔哩)透视法门!werpla...
透视积累!aapoker怎么开... 透视积累!aapoker怎么开辅助器,AApoker中牌率一贯存在有脚本,第六分钟教程(的确有挂)1...
透视妙招!pokeplus脚本... 透视妙招!pokeplus脚本,小闲54辅助(辅助)原来有方法(哔哩哔哩)小闲54辅助辅助器是一种具...
透视绝活!wepoker模拟器... 透视绝活!wepoker模拟器哪个好用,WePoKer咨询确实有开挂,第3分钟教程(有挂透明挂)运w...
透视指引!约局吧能不能开挂,欢... 透视指引!约局吧能不能开挂,欢聚水鱼脚本下载(辅助)果然真的是有方法(哔哩哔哩)1、下载好欢聚水鱼脚...
透视技法!aapoker怎么控... 透视技法!aapoker怎么控制牌,AApoker安装包一直有开挂,九分钟教程(有挂技巧)小薇(辅助...
透视学习!sohoo开挂辅助,... 透视学习!sohoo开挂辅助,佛手在线大菠萝技巧(辅助)本来是有app(哔哩哔哩)1、玩家可以在佛手...
透视机巧!aapoker透视怎... 透视机巧!aapoker透视怎么用,AApoker选牌真是真的有神器,第8分钟教程(有挂实锤)1、进...