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

相关内容

热门资讯

透视总结!hhpoker是正品... 透视总结!hhpoker是正品吗,hhpoker有没有作必弊辅助(透视)其实存在有脚本攻略(哔哩哔哩...
透视妙招!aapoker脚本,... 透视妙招!aapoker脚本,aapoker真的假的(透视)真是是真的脚本攻略(哔哩哔哩)运aapo...
透视攻略!如何下载德普之星辅助... 透视攻略!如何下载德普之星辅助软件,德普之星私人局辅助器(透视)都是真的是有脚本技巧(哔哩哔哩)1、...
透视积累!aapoker辅助怎... 透视积累!aapoker辅助怎么用,aapoker怎么设置提高好牌几率(透视)一贯存在有透视神器(哔...
透视模板!wepoker作必弊... 透视模板!wepoker作必弊辅助,wejoker辅助机器人(透视)一贯有脚本器(哔哩哔哩)1、完成...
透视诀窍!wepoker轻量版... 透视诀窍!wepoker轻量版透视方法,wepoker私人局透视教程(透视)总是存在有透视挂(哔哩哔...
透视绝活儿!aapoker脚本... 透视绝活儿!aapoker脚本,aapoker安装包怎么使用(透视)总是是真的脚本教程(哔哩哔哩)1...
透视要领!wepoker轻量版... 透视要领!wepoker轻量版透视方法,wepoker怎么设置盖牌(透视)好像存在有脚本插件(哔哩哔...
透视窍要!aapoker透视插... 透视窍要!aapoker透视插件,aapoker怎么设置提高好牌几率(透视)都是存在有脚本插件(哔哩...
透视手册!wpk透视辅助,wp... 透视手册!wpk透视辅助,wpk辅助插件(透视)其实真的有透视app(哔哩哔哩)该软件可以轻松地帮助...