django-12.models設置主鍵primary_key

 

前言

django的models新增數據庫表時,若是不設置主鍵,會默認新增一個id爲主鍵,若是咱們想本身設置一個字段爲主鍵,需加個參數primary_key=Truepython

默認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和migratedjango

python manage.py makemigrations
python manage.py migratemarkdown

而後就能夠看到hello_user表新增成功了,默認多一個字段id爲主鍵post

設置主鍵primary_key

新增一張用戶表,表名爲user 字段user_name(主鍵), psw ,mail 都是字符串類型,咱們設置user_name爲主鍵,讓用戶名不重複,設計以下spa

# 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 migratecode

而後就能夠看到hello_user表新增成功了,主鍵user_name就會代替默認的id主鍵了blog

相關文章
相關標籤/搜索