記錄在使用Django開發過程中遇到的問題No.2
記錄在使用Django開發過程中遇到的問題No.2
- 1、在一個settings.py的檔案中新增上新增的模組名稱,如,demos;配置mysql的地址\埠...的
- 2、通知django模型變化了,終端輸入:
- 3、接下來可以在新增的模組中寫程式碼了,比如demos模組.首先在demos下的models.py中寫實體類, 寫完之後呢,終端輸入`python manage.py migrate`建立表結構,成功之後去第1步裡配置的資料庫可以看到自動生成的表格。我這用外來鍵的方式繫結了一張子表,models.ForeignKey(User,on_delete=models.CASCADE,default=""),第一個引數是主表,第二個引數代表當主表刪除是,子表執行什麼操作,models.CASCADE代表的意思是主表刪除,子表也會自動刪除
- 4、下面寫介面了,子表外來鍵賦值方式是直接把父表物件賦給子表的外來鍵欄位了
- 5、寫完之後,在settings.py同一目錄下找到一個叫urls.py的檔案,新增路徑。
- 6、配置完之後,終端輸入`python manage.py runserver 9000`在指定埠執行,9000是埠號,可以改變的,執行成功終端會返回一個地址給你,複製地址,在後面加上第5步配置的介面路徑,就可以訪問了,我用的poseman來除錯的,
1、在一個settings.py的檔案中新增上新增的模組名稱,如,demos;配置mysql的地址\埠…的
2、通知django模型變化了,終端輸入:
python manage.py makemigrations demos
3、接下來可以在新增的模組中寫程式碼了,比如demos模組.首先在demos下的models.py中寫實體類, 寫完之後呢,終端輸入python manage.py migrate
建立表結構,成功之後去第1步裡配置的資料庫可以看到自動生成的表格。我這用外來鍵的方式繫結了一張子表,models.ForeignKey(User,on_delete=models.CASCADE,default=""),第一個引數是主表,第二個引數代表當主表刪除是,子表執行什麼操作,models.CASCADE代表的意思是主表刪除,子表也會自動刪除
from django.db import models
# Create your models here.
class User(models.Model):
id = models.AutoField(primary_key=True) #注意 這裡自動建立的id是int型別
number = models.IntegerField(null=True)
create_date = models.DateTimeField(null=True)
class WorkExperience(models.Model):
id = models.AutoField(primary_key=True)
time_range = models.CharField(max_length=100)
user = models.ForeignKey(User,on_delete=models.CASCADE,default="") #User作為外來鍵,當User刪除時,WorkExperenxe也會刪除
4、下面寫介面了,子表外來鍵賦值方式是直接把父表物件賦給子表的外來鍵欄位了
from django.http import HttpResponse,JsonResponse
from users.models import User,WorkExperience
import json
from django.core import serializers
import time
def userAdd(request):
if request.method == "POST":
req = json.loads(request.body) #json格式資料獲取 ,這裡獲取的是前端錄入的資料
id = req.get("id")
number = req.get("number ")
create_date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime() #當前時間
userAdd = User( #這是把上面的資料封裝到實體類物件
id = id,
number=number,
)
userAdd.save() #物件儲存
# 獲取工作經歷的list
workList = req["workExperience"]
for dictory in workList:
worKId = dictory.get("id")
time_range = dictory["timeRange"]
user = userAdd 子表的外來鍵: 注意 這裡是直接把主表物件賦給外來鍵了
WorkExperienceAdd = WorkExperience(
id=worKId,
time_range = time_range,
user = user
)
WorkExperienceAdd.save() #儲存子表
# return JsonResponse({"user":user.id,"worKId":WorkExperienceAdd.id}) 這是測試用的,返回儲存後主表和子表的id
return JsonResponse({"code":"SUCCESS","msg":"publish user sucess."}) #儲存子表
5、寫完之後,在settings.py同一目錄下找到一個叫urls.py的檔案,新增路徑。
from django.contrib import admin
from django.urls import path
from demos.src.user import userAdd #匯入介面
urlpatterns = [
path('userAdd/',userAdd), #配置路徑
]
6、配置完之後,終端輸入python manage.py runserver 9000
在指定埠執行,9000是埠號,可以改變的,執行成功終端會返回一個地址給你,複製地址,在後面加上第5步配置的介面路徑,就可以訪問了,我用的poseman來除錯的,
相關文章
- Flutter開發過程中遇到的問題記錄Flutter
- android開發過程中遇到的問題Android
- 皮膚開發過程中遇到的3個問題
- 開發過程中遇到問題該怎麼辦?
- 記錄開發過程一個路由問題路由
- 記錄 dcat-admin 使用 Laravel-activitylog 記錄使用者行為過程中遇到的問題Laravel
- [經驗]iOS開發-記錄下在開發過程中遇到的問題的解決方案及經驗總結-1iOS
- linux安裝和配置 mysql、redis 過程中遇到的問題記錄LinuxMySqlRedis
- Latex — 寫作編譯過程中遇到問題記錄與總結編譯
- 爬蟲過程中遇到的問題爬蟲
- Composer 使用過程中遇到的問題和解決方案
- Mac電腦使用imazing過程中遇到的問題Mac
- 學習vue過程中遇到的問題Vue
- STATSPACK安裝過程中遇到的問題
- 記錄使用Performance API遇到的問題ORMAPI
- 在使用Kafka過程中遇到的錯誤Kafka
- docker使用redis過程出現的問題記錄DockerRedis
- Vue專案開發過程中遇到的一些問題總結Vue
- Android開發過程中遇到的問題以及解決辦法 how toAndroid
- 電商APP測試過程中遇到的問題APP
- 記錄VMware安裝VMware Tools過程及遇到的一些問題
- AS Notes|記錄日常開發遇到的 AS 問題(不斷更新。。。
- 開發過程中mysql常見問題MySql
- React 折騰記 - (5) 記錄用React開發專案過程遇到的問題(Webpack4/React16/antd等)ReactWeb
- jQuery 遇到問題記錄jQuery
- atc轉換過程問題記錄
- workerman開發過程中遇到的一些常見的問題與解決方法
- django開發時遇到問題的正確求助姿勢Django
- MERGE開發中遇到的問題
- 關於ubuntu安裝中過程遇到問題Ubuntu
- ORACLE RAC TO RAC DG搭建過程中可能遇到的問題Oracle
- 安裝gcc過程中遇到相互依賴的問題GC
- 如何處理六西格瑪過程中遇到的問題?
- 【DATAGUARD 學習】學習DATAGUARD 過程中遇到的問題
- 使用ElementUI開發系統(介紹與開發中遇到的問題)UI
- 使用air實現熱過載時遇到的問題處理方式記錄AI
- 教育類app開發過程中,需要避免的問題APP
- JSP開發過程遇到的中文亂碼問題及解決方案JS