Django2.1.2建立預設管理後臺
1、在app的models.py中新增以下程式碼:
from django.db import models # Create your models here. # Register your models here. class UserType(models.Model): name = models.CharField(max_length=32) class UserInfo(models.Model): username = models.CharField(max_length=32) pwd = models.CharField(max_length=32) email = models.CharField(max_length=32) user_type = models.ForeignKey('UserType',on_delete=models.CASCADE,)
注意一些書上寫的是user_type = models.ForeignKey(UserType),因為他們用的是Django2.0之前的版本,如果不加“on_delete=models.CASCADE”則以下錯誤:
原因:
在django2.0後,定義外來鍵和一對一關係的時候需要加on_delete選項,此引數為了避免兩個表裡的資料不一致問題,不然會報錯:TypeError: __init__() missing 1 required positional argument: 'on_delete'引數說明:on_delete有CASCADE、PROTECT、SET_NULL、SET_DEFAULT、SET()五個可選擇的值CASCADE:此值設定,是級聯刪除。PROTECT:此值設定,是會報完整性錯誤。SET_NULL:此值設定,會把外來鍵設定為null,前提是允許為null。SET_DEFAULT:此值設定,會把設定為外來鍵的預設值。SET():此值設定,會呼叫外面的值,可以是一個函式。一般情況下使用CASCADE就可以了。
2、在app的admin.py中新增以下程式碼:
from django.contrib import admin from cmdb import models admin.site.register(models.UserInfo) admin.site.register(models.UserType)
3、在主工程的setting.py檔案中新增app:
4、在cmd中依次執行以下命令:
python manage.py makemigrationspython manage.py migratepython manage.py createsuperuser --上面這條命令是建立超級管理員的python manage.py runserver
5、執行成功後訪問:http://127.0.0.1:8000/admin/ 登入後即可進入Django的預設管理後臺。