python測試開發django-12.models設置主鍵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主鍵了

django交流QQ群:779429633


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM