關於後台有資料,前台得不到資料的BUG

2021-08-21 02:47:16 字數 2724 閱讀 9340

問題的**詳情:

當我在實現將windows的django專案通過遠端倉庫轉殖到(git clone **)linux系統下執行的時候報的錯誤!在報錯之前,我已經將所有的環境,安裝包進行了pip list > requirements 進行了安裝,也就是說,排除了系統配置錯誤的可能。

功能缺陷詳情:

具體實現的是省市縣**聯動查詢,我通過打斷點檢查到後端的資料可以正常傳送到前端,可是通過前端的簡訊卻檢查不到由資料接收過來,無論我怎麼重啟前端,都無法接收。

分析概況:

由於後端的省市縣**聯動,前端是通過redis快取進行的拿取,具體檢視**如下:

from 

rest_framework.viewsets

import

readonlymodelviewset

from rest_framework_extensions.cache.mixins import cacheresponsemixin

from .models import area

from . import serializers

# create your views here.

# 請求城市或區縣資料

--get /areas/(?p\d+)/

class areasviewset(

cacheresponsemixin

, readonlymodelviewset):

# 指定要輸出的資料來自哪個查詢集

# queryset = area.objects.all()

pagination_class =

none

def

get_queryset

(self

):

# 根據請求的行為,過濾不同的行為的序列化器需要的資料

if self

.action ==

'list'

:

# parent = none

代表請求資料是省級資料

return

area.objects.filter(

parent

=none

)

else

:

return

area.objects.all()

# 指定序列化器

# serializer_class = "

序列化器

"def

get_serializer_class

(self

):

# 根據請求的行為指定不同的序列化器

if self

.action ==

"list"

:

return

serializers.areaserializer

else

:

return

serializers.subareaserializer

序列化器**如下:

from rest_framework import serializers

from .models import area

class areaserializer(serializers.modelserializer):

# 行政區劃驗證資料 序列化

---沒有引數的傳遞,所以沒有接收的必要

class meta:

model = area

fields = ("id"

, "name")

class subareaserializer(serializers.modelserializer):

# 子行政區劃資訊序列化器

subs = areaserializer(many=true,

read_only=true)

# subs 是模型類定義的外來鍵名稱 related_name=

'subs'

class

meta:

model = area

fields = (

"id"

, "name"

, "subs"

)

settings中drf快取的配置:

# drf

擴充套件rest_framework_extensions =

問題刨析:

由於配置了rest_framework的快取功能,from rest_framework_extensions.cache.mixins import cacheresponsemixin

cacheresponsemixin適用於和action==list  和 action == retrieve 的倆個方法配合readonlymodelviewset, 來使用。

mounted

:function())

.then

(response => )

.catch

(error => )

;

當我通過對redis對應的0號庫進行flushdb清除後,一切問題就解決了。

關於pymysql讀取不到後台資料庫更新的資料

今天做乙個監控後台資料庫資料的程式中,使用了pymysql,但是在每次使用游標物件select物件時資料都是乙個樣。原因在於 1.mysql的儲存引擎inoodb的事務隔離級別預設是 可重複讀 repeatable read 例如a客戶端事務未提交,而b客戶端事務修改了資料,a客戶端只能讀取到小於等...

json資料在前台接收不到資料的解決方法

在學習ssh專案 的時候,通過查詢資料庫的資料,並將資料打包成json格式並在前台顯示時出現了 struts has detected an unhandled exception messages failed to lazily initialize a collection of role c...

關於前台註冊資訊頁面與後台資料庫連線

using system using system.data using system.configuration using system.web using system.web.security using system.web.ui using system.web.ui.webcontro...