中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

html購物網(wǎng)站重慶關(guān)鍵詞優(yōu)化服務(wù)

html購物網(wǎng)站,重慶關(guān)鍵詞優(yōu)化服務(wù),精湛的網(wǎng)站建設(shè),獨立網(wǎng)站商城怎么做目錄 裝飾器inject_serializer 裝飾器atomic rebase git 清理add的數(shù)據(jù) 查看git的當(dāng)前工作目錄 makemigrations文件名稱 action(detailTrue, methods["GET"]) 如何只取序列化器的一個字段進行返回 Response和JsonResponse有什么區(qū)別 序列化器填表和單字段如…

目錄

裝飾器inject_serializer

裝飾器@atomic

rebase

git 清理add的數(shù)據(jù)

查看git的當(dāng)前工作目錄

makemigrations文件名稱

@action(detail=True, methods=["GET"])

如何只取序列化器的一個字段進行返回

Response和JsonResponse有什么區(qū)別

序列化器填表和單字段如何寫

序列化器里包含多對象數(shù)據(jù)-序列化器嵌套序列化器

from django.db.models import Q的Q對象有什么用,是什么


裝飾器inject_serializer

????????用于動態(tài)地將一個序列化器(serializer)注入到Django REST framework(DRF)視圖中。

舉個例子:

from blue_krill.web.drf_utils import inject_serializer@inject_serializer(body_in=serializers.SLZ1, out=serializers.SLZ2, tags=["項目A"], operation_summary="獲取B")def xxx(self, request, args):pass

以上,

  1. body_in: 指定請求體的序列化器,這里使用的是?serializers.SLZ1。
  2. out: 指定響應(yīng)體的序列化器,這里使用的是?serializers.SLZ2。
  3. tags: 對 API 分類,方便在生成的 API 文檔中查找(比如swagger)。這里標簽:項目A。
  4. operation_summary: 提供 API 的簡短描述,這里描述:獲取B。?

通過該裝飾器,可以讓?API 接口更具可讀性和規(guī)范性,同時也能方便生成 API 文檔。

在swagger中的顯示就是:

裝飾器@atomic

在 Django 中用于確保一個函數(shù)或方法在數(shù)據(jù)庫中執(zhí)行的操作具有原子性。

from django.db.transaction import atomic  # transaction 即事務(wù)的意思@atomic
def create_user_and_profile(username, email, age):user = User.objects.create(username=username, email=email)profile = UserProfile.objects.create(user=user, age=age)

相當(dāng)于在視圖函數(shù)中開了個事務(wù),主要目的是維護DB的一致性和完整性。

rebase

大家可能都是常用merge去合并,這樣能保留具體的commit記錄,但對不復(fù)雜或說不大型的項目,rebase其實更簡潔干凈些。

git checkout v1
git rebase master

v1合并到master,往往還要解決沖突,就處理后git add <File>然后git rebase

git 清理add的數(shù)據(jù)

從暫存區(qū)中移除單個文件

git restore --staged <file-path>

從暫存區(qū)中移除多個文件

git restore --staged <file-path-1> <file-path-2> ...

?從暫存區(qū)中移除所有文件(原來冒紅冒黃的文件又恢復(fù)冒紅冒黃):

git restore --staged .

查看git的當(dāng)前工作目錄

場景:比如git add需要直接加文件的方式

git rev-parse --show-toplevel

makemigrations文件名稱

為讓遷移文件更加清晰目的,遷移文件往往是要命名規(guī)范的,指定生成文件名稱:

python manage.py makemigrations --name xxxx
python manage.py makemigrations -n xxxx

如果意外直接創(chuàng)建了,那么修改文件名即可,但前綴的0001這種數(shù)字不要去修改,關(guān)聯(lián)到這個文件名的name也要修改(比如一般是下一個遷移文件用到),即可。

但注意,如果已經(jīng)migrate的,那么需要在django_migration修改對應(yīng)表名,如果為migrate那就不需要。

@action(detail=True, methods=["GET"])

detail標識是否針對單個對象,

@action(detail=True, methods=["GET"]) =》 /users/{id}/get_username/

@action(detail=False, methods=["GET"]) =》 /users/get_username/

如何只取序列化器的一個字段進行返回

from rest_framework import serializers
from myapp.models import MyModelclass MyModelSerializer(serializers.ModelSerializer):class Meta:model = MyModelfields = ['field_name', 'another_field']# 假設(shè)你已經(jīng)有一個 MyModel 實例
my_model_instance = MyModel.objects.get(pk=1)# 使用序列化器序列化實例
serializer = MyModelSerializer(my_model_instance)# 獲取序列化后的數(shù)據(jù)
serialized_data = serializer.data# 僅提取名為 'field_name' 的字段
field_name_data = serialized_data['field_name']# 返回或使用 'field_name' 字段的值
return field_name_data

Response和JsonResponse有什么區(qū)別

Response?和?JsonResponse?都是用于構(gòu)建和返回 HTTP 響應(yīng)的 Django 類,但它們之間存在一些差異。

  1. 來源Response?類來自 Django REST framework(DRF),通常在 DRF 視圖和 APIView 中使用。JsonResponse?類是 Django 內(nèi)置的,用于構(gòu)建 JSON 響應(yīng)。

  2. 內(nèi)容類型Response?類可以處理多種內(nèi)容類型(如 JSON、XML 等),默認情況下,它會根據(jù)客戶端請求的 "Accept" 頭選擇合適的內(nèi)容類型。JsonResponse?類專門用于構(gòu)建 JSON 響應(yīng),其 "Content-Type" 頭始終設(shè)置為 "application/json"。

  3. 序列化Response?類可以與 DRF 序列化器一起使用,自動序列化和反序列化數(shù)據(jù)。JsonResponse?類僅處理已序列化為 JSON 的數(shù)據(jù),您需要確保傳遞給?JsonResponse?的數(shù)據(jù)是 JSON 可序列化的(例如 Python 字典、列表等)。

如果正使用 Django REST framework 構(gòu)建 API,建議使用?Response?類。如果您正在使用 Django 的基本視圖或類視圖,并需要返回 JSON 數(shù)據(jù),可以使用?JsonResponse?類

序列化器填表和單字段如何寫

class HahaSLZ(serializers.Serializer):haha_id = serializers.IntegerField(required=False)class Meta:model = Userfields = [field.name for field in User._meta.get_fields()] + ['haha_id']  # 注,直接__all__并不能涵蓋haha_id

序列化器里包含多對象數(shù)據(jù)-序列化器嵌套序列化器

results該字段的類型是?AASLZ,并設(shè)置了?many=True?參數(shù),表示這是一個列表,其中包含多個?AASLZ實例。

class AASLZ(serializers.Serializer):user = serializers.CharField(help_text="用戶", required=True)class BBSLZ(serializers.Serializer):results = AASLZ(help_text="用戶列表", many=True)

from django.db.models import Q的Q對象有什么用,是什么

Django 的?Q?對象是一個用于構(gòu)建更復(fù)雜查詢的工具。它允許您在查詢中使用 OR 語句、NOT 語句以及更高級的查詢結(jié)構(gòu)。Q?對象可以與?filter()exclude()?和?get()?等查詢方法一起使用。

http://www.risenshineclean.com/news/6850.html

相關(guān)文章:

  • 珠海企業(yè)網(wǎng)站推廣服務(wù)找關(guān)鍵詞的方法與技巧
  • 網(wǎng)站開發(fā)跟軟件開發(fā)如何在百度搜索到自己的網(wǎng)站
  • 專業(yè)網(wǎng)站設(shè)計開發(fā)網(wǎng)站互聯(lián)網(wǎng)廣告投放代理公司
  • 做h5的網(wǎng)站有哪些php開源建站系統(tǒng)
  • 東莞住房和建設(shè)局網(wǎng)站外貿(mào)業(yè)務(wù)推廣
  • 設(shè)計網(wǎng)站公司為什么都在上海淘寶運營培訓(xùn)多少錢
  • wordpress單本小說站seo主要優(yōu)化哪些
  • 南皮網(wǎng)站建設(shè)南寧網(wǎng)站建設(shè)及推廣
  • 公司設(shè)計網(wǎng)站需要注意哪些sem優(yōu)化是什么意思
  • 無錫做網(wǎng)站價格方象科技的企業(yè)愿景
  • 漢口網(wǎng)站制作怎么開發(fā)一個網(wǎng)站
  • 百度站點提交工具app開發(fā)工具
  • 網(wǎng)站建設(shè)的單可以刷嗎磁力多多
  • 資訊類網(wǎng)站建設(shè)網(wǎng)站生成器
  • visual studio 網(wǎng)站開發(fā)網(wǎng)絡(luò)推廣外包怎么接單
  • 青島網(wǎng)站建設(shè)公司排行谷歌下載安裝
  • 免費安裝電腦wordpress長沙關(guān)鍵詞優(yōu)化服務(wù)
  • 淺析b2c電子商務(wù)網(wǎng)站的建設(shè)seo是對網(wǎng)站進行什么優(yōu)化
  • 豆各莊做網(wǎng)站的公司長治seo
  • 設(shè)計logo圖標抖音seo推薦算法
  • 做網(wǎng)站什么什么鄭州網(wǎng)絡(luò)推廣平臺
  • 維度網(wǎng)絡(luò)做網(wǎng)站合肥網(wǎng)絡(luò)推廣外包
  • 男生十大好就業(yè)專業(yè)seo是什么意思知乎
  • 海爾建設(shè)此網(wǎng)站的目的企業(yè)文化建設(shè)方案
  • 手機屏幕網(wǎng)站重慶seo小z博客
  • 網(wǎng)站排名查詢工具有哪些八百客crm系統(tǒng)登錄入口
  • 自己做網(wǎng)站系統(tǒng)首選平臺網(wǎng)絡(luò)推廣外包業(yè)務(wù)銷售
  • 網(wǎng)站開發(fā)工程師面試問哪些問題鄭州好的seo外包公司
  • 愛站查詢工具北京網(wǎng)站sem、seo
  • 新疆網(wǎng)站備案代辦谷歌play商店官網(wǎng)