django之十三 通過pk值手動設定資料表主鍵

2021-10-21 02:15:23 字數 2390 閱讀 4417

通過django框架的model層來新增資料庫表時,如果在需要新增的表字段裡任何乙個表字段都沒設定主鍵,框架會預設新增乙個表字段id並把該表字段id設定為主鍵。

那麼,如果我們想自己動手設定其中乙個新增的表字段a為主鍵,需要在這表字段a所對應呼叫的方法裡加個引數primary_key且引數primary_key值必須等於true。

細節:①.引數primary_key,一般簡稱為pk,俗稱主鍵。

1、首先,在專案絕對路徑【helloworld/hello/models.py】裡新增乙個類【user】,並新增相關類屬性。

# 新增一張使用者表,表名為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】。

細節:①.在專案【helloworld】的根目錄【helloworld/】下,命令列【python manage.py makemigrations】執行才能生效,因為manage.py只存在根目錄下;

②.命令列【python manage.py makemigrations】裡的【makemigrations】其實就是傳給manage.py當其中乙個入參的入參值,這是命令列的專用寫法;相關知識點如下面的截圖所示:

3、接著,在專案絕對路徑【helloworld/】下,執行命令列【python manage.py migrate】。

1、首先,在專案絕對路徑【helloworld/hello/models.py】裡新增乙個類【role】,並新增相關類屬性。

# 新增一張角色表,表名為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】

3、接著,在專案絕對路徑【helloworld/】下,執行命令列【python manage.py migrate】。

Django反向解析系列之十三

隨著功能的增加會出現更多的檢視,可能之前配置的正規表示式不夠準確,於是就要修改正規表示式,但是正規表示式一旦修改了,之前所有對應的超連結都要修改,真是一件麻煩的事情,而且可能還會漏掉一些超連結忘記修改,有辦法讓鏈結根據正規表示式動態生成嗎?就是用反向解析的辦法。1 在專案urls.py中為inclu...

秉火429筆記之十三 通訊基本概念

目錄 1.串列埠通訊與並口通訊 2.全雙工 半雙工及單工通訊 3.同步通訊與非同步通訊 4.通訊速率 按資料傳送的方式,通訊可分為序列通訊與並行通訊,序列通訊是指裝置之間通過少量資料訊號線 一般是8根以下 地線以及控制訊號線,按資料位形式一位一位地傳輸資料的通訊方式。而並行通訊一般是指使用8 16 ...

django 學習(十三) 設計嘉賓管理

一 嘉賓列表 新建.templates guest manage.html頁面。doctype html html lang zh cn head meta charset utf 8 title guest manage title head body n class n bar n bar in...