Perbarui data dalam database
Metode dan fungsi berikut memungkinkan Anda memperbarui data yang ada di database.
-
update(each: bool = False, **kwargs) -> int -
update_or_create(**kwargs) -> Model -
bulk_update(objects: List[Model], columns: List[str] = None) -> None -
model
- Metode pemograman ()
- Metode pemodelan ()
- Model.save\ _ lated ()
-
Agen Setelan Kueri
-
QuerysetProxy.update_or_create(**kwargs)metode
pembaruan
update(each: bool = False, **kwargs) -> int
Pembaruan level QuerySet digunakan untuk memperbarui beberapa rekaman dengan nilai yang sama sekaligus.
Anda harus memfilter QuerySet terlebih dahulu atau memberikan masing-masing = Bendera asli untuk memperbarui seluruh tabel.
Jika Anda tidak memberikan bendera atau filter ini, QueryDefinitionError dinaikkan.
Mengembalikan jumlah baris yang diperbarui.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | |
!!!Peringatan, set kueri perlu disaring sebelum diperbarui untuk mencegah overwriting yang tidak disengaja.
1 | |
Perbarui atau buat
update_or_create(**kwargs) -> Model
Perbarui model, atau buat model baru jika tidak ada kecocokan dalam database.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | |
Perhatikan bahwa jika Anda ingin membuat objek baru, Anda harus melewati nilai kolom pk, atau kolom pk harus disetel ke kenaikan otomatis
pembaruan batch
bulk_update(objects: List["Model"], columns: List[str] = None) -> None
Memungkinkan beberapa instance untuk diperbarui secara bersamaan.
Semua model yang dilewati perlu diisi dengan kolom kunci utama.
Anda juga dapat memilih bidang yang akan diperbarui dengan melewati daftar kolom sebagai daftar nama string.
1 2 3 4 5 6 7 8 9 10 11 | |
metode model
Setiap contoh model memiliki seperangkat metode untuk menyimpan, memperbarui, atau memuat dirinya sendiri.
# # pembaruan
Anda dapat memperbarui model dengan memperbarui properti (bidang) dan memanggil metode pembaruan ().
Jika Anda mencoba memperbarui model tanpa mengatur kunci utama, pengecualian ModelPersistenceError dilemparkan.
!!!Tip Baca lebih lanjut tentang metode pembaruan () dalam pembaruan model
# # pembaruan masukkan
Ini adalah proxy untuk metode penyimpanan () atau pembaruan model (**kwargs). Jika pk disetel, metode pembaruan () disebut.
!!!Tip Baca lebih lanjut tentang metode upsert () dalam model-upsert
# # terkait simpan
Metode ini mengulangi semua hubungan model yang disebut metode dan menyebut metode upsert () pada setiap model yang belum disimpan.
!!!Tip Baca lebih lanjut tentang metode save\ _ lated () dalam model-save-lated
Metode QuerysetProxy
Saat mengakses bidang ManyToMany dan ReverseForeignKey yang relevan secara langsung, daftar model terkait dikembalikan.
Tetapi juga memaparkan subset dari QuerySet API, sehingga Anda dapat memfilter, membuat, memilih model terkait, dll. langsung dari model induk.
Perbarui atau buat
Fungsi pembaruan\ _ atau\ _ buat persis sama dengan di atas, tetapi memungkinkan Anda memperbarui atau membuat objek terkait dari ujung hubungan yang lain.
!!!Untuk mempelajari lebih lanjut tentang QuerysetProxy, kunjungi bagian QuerysetProxy