07-14 django 66-70


66.django 中 filter 和 exclude 的區別

兩者取到的值都是QuerySet對象,filter選擇滿足條件的,exclude:排除滿足條件的.

67.django 中 values 和 values_list 的區別?

  • values : queryset類型的列表中是字典
  • values_list : queryset類型的列表中是元組

68.如何使用 django orm 批量創建數據?

objs=[models.Book(title="圖書{}".format(i+15)) for i in range(100)]
models.Book.objects.bulk_create(objs)

69.django 的 Form 和 ModeForm 的作用?

Form組件的主要功能如下:
   生成頁面可用的HTML標簽       ——>只能生成獲取用戶信息的那些input標簽等
   對用戶提交的數據進行校驗,返回錯誤提示信息
   保留頁面上用戶輸入的內容
   
ModelForm組件,這個組件主要就是將model與Form組件的功能結合起來,可以更加便捷的對數據進行添加、編輯以及數據的驗證操作。相對於單獨的Form組價來說要方便很多。但是Form組件會比這個ModelForm組件更加靈活,如果在使用Django做web開發過程中驗證的數據和數據庫字段相關(可以對表進行增、刪、改操,注意 Many to many字段,也可以級聯操作第3張關系表;),建議優先使用ModelForm,用起來更方便些,但是在使用ModelForm的時候慎用fields='__all__',獲取數據庫所有字段勢必造成資源的浪費。

70.django 的 Form 組件中,如果字段中包含 choices 參數,請使用兩種方式 實現數據源實時更新。

  • 1.重寫構造函數
def__init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.fields["city"].widget.choices = models.City.objects.all().values_list("id", "name")
  • 2.利用ModelChoiceField字段,參數為queryset對象
authors = form_model.ModelMultipleChoiceField(queryset=models.NNewType.objects.all())//多選


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM