打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python测试开发django-12.主键primary_key

前言

django的models新增数据库表时,如果不设置主键,会默认新增一个id为主键,如果我们想自己设置一个字段为主键,需加个参数primary_key=True

默认id主键

新增一张用户表,表名为user 字段user_name, psw ,mail 都是字符串类型,设计如下

# models.py from django.db import models # Create your models here. # 我们新建了一个Person类,继承自models.Model, class Person(models.Model):    name = models.CharField(max_length=30)    age = models.IntegerField() # 新增一张用户表,表名为user 字段user_name, psw ,mail 都是字符串类型 class User(models.Model):    user_name = models.CharField(max_length=30)    psw = models.CharField(max_length=30)    mail = models.CharField(max_length=30)

cmd执行makemigrations和migrate

python manage.py makemigrations
python manage.py migrate

然后就可以看到hello_user表新增成功了,默认多一个字段id为主键

设置主键primary_key

新增一张用户表,表名为user 字段user_name(主键), psw ,mail 都是字符串类型,我们设置user_name为主键,让用户名不重复,设计如下

# models.py from django.db import models # Create your models here. # 我们新建了一个Person类,继承自models.Model, class Person(models.Model):    name = models.CharField(max_length=30)    age = models.IntegerField() # 新增一张用户表,表名为user 字段user_name, psw ,mail 都是字符串类型 class User(models.Model):    user_name = models.CharField(max_length=30,                                 primary_key=True)   # 设置为主键    psw = models.CharField(max_length=30)    mail = models.CharField(max_length=30)

cmd执行makemigrations和migrate

python manage.py makemigrations
python manage.py migrate

然后就可以看到hello_user表新增成功了,主键user_name就会代替默认的id主键了

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
django
字段的参数
Django在根据models生成数据库表时报
xadmin与django
Python工程师详细讲解Django之model,弄懂了马上升职加薪(附源码)
Django之model详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服