0
点赞
收藏
分享

微信扫一扫

django之十三--通过pk值手动设置数据表主键


一、前言

通过django框架的Model层来新增数据库表时,如果在需要新增的表字段里任何一个表字段都没设置主键,框架会默认新增一个表字段id并把该表字段id设置为主键。

那么,如果我们想自己动手设置其中一个新增的表字段A为主键,需要在这表字段A所对应调用的方法里加个参数primary_key且参数primary_key值必须等于True。

细节:

①.参数primary_key,一般简称为pk,俗称主键。

二、默认id主键的实现流程

1、首先,在项目绝对路径【helloworld/hello/models.py】里新增一个类【User】,并新增相关类属性。

django之十三--通过pk值手动设置数据表主键_主键

# 新增一张用户表,表名为user,有三个表字段:user_name,user_psw,user_email三个表字段数据类型都是字符串类型

class User(models.Model):

user_name = models.CharField(max_length=30)

user_psw = models.CharField(max_length=30)

user_email = models.CharField(max_length=30)

2、接着,在项目绝对路径【helloworld/】下,执行命令行【python manage.py makemigrations】。

django之十三--通过pk值手动设置数据表主键_主键_02

细节:

①.在项目【helloworld】的根目录【helloworld/】下,命令行【python manage.py makemigrations】执行才能生效,因为manage.py只存在根目录下;

②.命令行【python manage.py makemigrations】里的【makemigrations】其实就是传给manage.py当其中一个入参的入参值,这是命令行的专用写法;相关知识点如下面的截图所示:

django之十三--通过pk值手动设置数据表主键_主键_03

django之十三--通过pk值手动设置数据表主键_字段_04

django之十三--通过pk值手动设置数据表主键_主键_05

django之十三--通过pk值手动设置数据表主键_字段_06

django之十三--通过pk值手动设置数据表主键_字段_07

django之十三--通过pk值手动设置数据表主键_主键_08

3、接着,在项目绝对路径【helloworld/】下,执行命令行【python manage.py migrate】。

django之十三--通过pk值手动设置数据表主键_命令行_09

三、通过pk值人为设置数据表主键

1、首先,在项目绝对路径【helloworld/hello/models.py】里新增一个类【Role】,并新增相关类属性。

django之十三--通过pk值手动设置数据表主键_主键_10

# 新增一张角色表,表名为hello_role,有三个表字段:role_name,role_level,role_intro,三个表字段数据类型都是字符串类型。

class Role(models.Model):

role_name = models.CharField(max_length=30, primary_key=True) # 角色名;这个表字段role_name设置为主键,让角色名是不重复的;

role_level = models.CharField(max_length=30) # 角色等级

role_intro = models.CharField(max_length=30) # 角色简介

细节:

①.主键的作用:确保数据表里每条数据里的每个主键的值是唯一的;

2、接着,在项目绝对路径【helloworld/】下,执行命令行【python manage.py makemigrations】

django之十三--通过pk值手动设置数据表主键_字段_11

3、接着,在项目绝对路径【helloworld/】下,执行命令行【python manage.py migrate】。

django之十三--通过pk值手动设置数据表主键_字段_12

举报

相关推荐

0 条评论