色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

基于django 的orm中非主鍵自增的實(shí)現(xiàn)方式

瀏覽:132日期:2024-10-05 17:35:57

我們知道django的orm想實(shí)現(xiàn)自增,可以直接使用AutoField字段既可以實(shí)現(xiàn),但是這種情況必須要求此字段是主鍵,但是我們知道主鍵只能是一個(gè)。

如果我已經(jīng)有了一個(gè)主鍵,但是又需要另外一個(gè)字段為唯一自增字段,這該如何實(shí)現(xiàn)呢?

本人的解決辦法如下,供大家參考,也歡迎大家提供更多的實(shí)現(xiàn)方式,互相學(xué)習(xí)。

class ProductSpu(models.Model): ''' 商品表 ''' _database = ’payment’ id = models.UUIDField(primary_key=True, default=uuid.uuid4, db_column=’c_id’) product_no = models.IntegerField(’商品號(hào)’, blank=True, auto_created=True, db_column=’c_product_no’) name = models.CharField(verbose_name=’商品名稱’, max_length=100, db_column=’c_name’)

如上,product_no字段是我要實(shí)現(xiàn)的自增字段,

(1)首先設(shè)置此字段為IntegerField類型,并設(shè)置屬性值auto_created=True;

(2)生成數(shù)據(jù)庫的sql語句設(shè)置如下:

CREATE TABLE `ehr-payment`.`t_product_spu` ( `c_id` char(32) NOT NULL, `c_product_no` int(11) NOT NULL AUTO_INCREMENT COMMENT ’商品編碼’, `c_name` varchar(100) NOT NULL COMMENT ’商品名稱’, PRIMARY KEY (`c_id`), UNIQUE KEY `c_product_no` (`c_product_no`)) ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8 COMMENT=’商品表’;

經(jīng)過如上兩點(diǎn)配合設(shè)置,新增一條數(shù)據(jù)是會(huì)自動(dòng)填充自增字段product_no,其中通過sql配置 AUTO_INCREMENT=100001,實(shí)現(xiàn)自增字段開始的值。如,此例是從100001開始自增。

補(bǔ)充知識(shí):django關(guān)于自增id的問題

在django中,如果創(chuàng)建模型。不指定id。django會(huì)自動(dòng)自定一個(gè)id

class Student(models.Model): name = models.CharField(max_length=16) sex = models.CharField(max_length=4)

像這種情況。django會(huì)自動(dòng)添加一個(gè)自增id

在數(shù)據(jù)庫的表結(jié)構(gòu)為

id name sex

相當(dāng)于

class Student(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=16) sex = models.CharField(max_length=4)

然后這id是自增的。

如果需要自定義id,然后這個(gè)id值是可用自己定義。那么就需要這樣做即可

class Student(models.Model): u_id = models.IntegerField(primary_key=True) name = models.CharField(max_length=16) sex = models.CharField(max_length=4)

把AutoField 修改為IntegerField 即可

這樣創(chuàng)建的數(shù)據(jù)。數(shù)據(jù)庫的id值。就不是自增的。可用在插入sql的時(shí)候指定 u_id 的值為3,6,8等。

但是不能重復(fù)、

以上這篇基于django 的orm中非主鍵自增的實(shí)現(xiàn)方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 日本在线免费观看视频 | 欧美一级三级在线观看 | 久久久久久综合一区中文字幕 | 国产精品线在线精品 | 国产一区二区久久久 | 三级网站免费 | 欧美成人高清在线视频大全 | 天天躁夜夜躁狠狠躁2024 | 男女牲高爱潮免费视频男女 | 日本九九视频 | 91精品国产91久久久久久青草 | 国产成人不卡亚洲精品91 | 精品国产成人系列 | 国产欧美日韩图片一区二区 | 国产三级做爰在线观看∵ | 在线免费看黄色 | 亚洲国产综合人成综合网站00 | 五月久久亚洲七七综合中文网 | 久久草在线视频免费 | 亚洲天天看 | 国产精品伦理久久久久 | 成年人在线观看视频网站 | 在线观看日本免费视频大片一区 | 手机看片成人 | 国产黄色在线播放 | 欧美一级毛片片免费孕妇 | 九九精品成人免费国产片 | 高清国产一级精品毛片基地 | 一级特黄特黄毛片欧美的 | 成年人在线免费网站 | 久草视频大全 | 美女视频黄的免费视频网页 | 精品国产成a人在线观看 | 成人软件18免费网站 | 精品在线看 | 中国女人毛片 | 国产精品久久久久久久久久98 | 亚洲国产大片 | 天天干夜夜玩 | 自拍偷在线精品自拍偷无码专区 | 美女张开双腿让男人桶 |