<noframes id="7xbfr"><pre id="7xbfr"><output id="7xbfr"></output></pre>

      <big id="7xbfr"><font id="7xbfr"><listing id="7xbfr"></listing></font></big>
        <p id="7xbfr"></p>
        <menuitem id="7xbfr"></menuitem>

          <video id="7xbfr"><mark id="7xbfr"><listing id="7xbfr"></listing></mark></video>
            <form id="7xbfr"></form>

          <delect id="7xbfr"><var id="7xbfr"></var></delect>

          Django中get和filter區別

          時間:2022-05-18 16:14:22 類型:python
          字號:    

            get和filter()的區別。

            1、get

            輸入參數:get的參數只能是model中定義的哪些字段,只支持嚴格匹配。

            Entry.objects.get(id='foo') # raises Entry.DoesNotExist

            返回參數:get 返回值是一個定義的model對象,只有一條記錄返回的時候才正常,也就說明get的查詢字段必須是主鍵或者唯一約束的字段。當返回多條記錄或者是沒有找到記錄的時候都會拋出異常

                 捕獲異常實例:

          try:
             result = sorts.objects.get(parentid=parentid, title=title)
             if result:
                return HttpResponse("<script>alert('同級類別名稱已經存在');history.back();</script>")
          except  sorts.DoesNotExist:
             print("tt")

            2、filter

            輸入參數:filter的參數可以是字段也可以是擴展的where查詢關鍵字,如in,like,返回QuerySet包含與給定查找參數匹配的新對象。

            返回參數:filter返回QuerySet對象,有沒有匹配的記錄都可以。

            filter有緩存數據的功能,第一次查詢數據庫并生成緩存,下次再調用filter方法的話,直接取得緩存的數據,get方法每次執行都是直接查詢數據庫的。


          黄网站免费 <