Django ORM 中的批量操作

2022-05-01 02:27:07 字數 1833 閱讀 8562

from django.db import

models

class

product(models.model):

name = models.charfield(max_length=200)

price = models.decimalfield(max_digits=10, decimal_places=2)

批量插入資料的時候,首先要建立乙個物件的列表,然後呼叫bulk_create方法,一次將列表中的資料插入到資料庫中。

product_list_to_insert =list()

for x in range(10):

product name

' + str(x), price=x))

product.objects.bulk_create(product_list_to_insert)

批量更新資料時,先進行資料過濾,然後再呼叫update方法進行一次性地更新。下面的語句將生成類似update....frrom....的sql語句。

product.objects.filter(name__contains='

name

').update(name='

new name

')

批量更新資料時,先是進行資料過濾,然後再呼叫delete方法進行一次性刪除。下面的語句講生成類似delete from ... where ... 的sql語句。

product.objects.filter(name__contains='

name query

').delete()

from django.db import

models

class

product(models.model):

name = models.charfield(max_length=200)

price = models.decimalfield(max_digits=10, decimal_places=2)

批量插入資料的時候,首先要建立乙個物件的列表,然後呼叫bulk_create方法,一次將列表中的資料插入到資料庫中。

product_list_to_insert =list()

for x in range(10):

product name

' + str(x), price=x))

product.objects.bulk_create(product_list_to_insert)

批量更新資料時,先進行資料過濾,然後再呼叫update方法進行一次性地更新。下面的語句將生成類似update....frrom....的sql語句。

product.objects.filter(name__contains='

name

').update(name='

new name

')

批量更新資料時,先是進行資料過濾,然後再呼叫delete方法進行一次性刪除。下面的語句講生成類似delete from ... where ... 的sql語句。

product.objects.filter(name__contains='

name query

').delete()

Django orm 實現批量插入資料

在hibenate中,通過批量提交sql操作,部分地實現了資料庫的批量操作。但在django的orm中的批量操作卻要完美得多,真是乙個驚喜。資料模型定義 首先,定義乙個例項使用的django資料庫模型product,只是象徵性地定義了兩個欄位name和price。from django.db imp...

Django ORM基礎操作

jquery dom d1 自動翻譯 document.getelementbyid d1 databases import pymysql 告訴django用pymysql來代替預設的mysqldb pymysql.install as mysqldb mysqldb不支援中py3 class 類...

Django orm的正向反向操作

通過values 和values list來操作的 class utype models.model title models.charfield max length 32 ucap models.foreignkey ubumen class uinfo models.model name mo...