我四處尋找,rest_framework試圖弄清楚它是如何作業的,遇到了一個電話Model.objects.create(),但我終究無法在檔案或源代碼create()中找到django 模型管理器的方法。它看起來是動態生成的。它到底是做什么的?我在哪里可以找到它的代碼?如果我想覆寫它,我的實作必須做什么?我發現了這個問題,但它只說要呼叫該方法。super().create()
uj5u.com熱心網友回復:
Django 的管理器將在 a 上查找相同的方法QuerySet,以防Manager. 所以它會呼叫底層的.create()方法 [Django-doc]QuerySet,實作為 [GitHub]:
def create(self, **kwargs): """ Create a new object with the given kwargs, saving it to the database and returning the created object. """ obj = self.model(**kwargs) self._for_write = True obj.save(force_insert=True, using=self.db) return obj
因此它將使用傳遞的關鍵字創建一個模型物件,并將其保存force_insert=True以略微提高效率,并回傳在資料庫中創建的專案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/537648.html
