Baca data dari database
Metode berikut memungkinkan Anda untuk memuat data dari database.
-
Mendapatkan (*Args,*\ * kwargs) - > model
-
get_or_create(_defaults: Optional[Dict[str, Any]] = None, *args, **kwargs) -> Tuple[Model, bool] -
first(*args, **kwargs) -> Model -
all(*args, **kwargs) -> List[Optional[Model]] -
iterate(*args, **kwargs) -> AsyncGenerator[Model] -
model
- Metode model.load ()
-
Agen Setelan Kueri
-
QuerysetProxy.get(*args, **kwargs)metode QuerysetProxy.get_or_create(_defaults: Optional[Dict[str, Any]] = None, *args, **kwargs)metodeQuerysetProxy.first(*args, **kwargs)metodeQuerysetProxy.all(*args, **kwargs)metode
mendapatkan
Dapatkan (*args,*\ * kwargs) - > model
Mendapatkan baris pertama dari database yang memenuhi kondisi set kwargs.
Jika tidak ada kondisi yang ditetapkan, ia mengembalikan baris terakhir dalam database yang diurutkan berdasarkan kolom pk.
Melewati suatu kondisi sebenarnya menyebut metode filter (*args,*\ * kwargs) yang dijelaskan di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
!!!Peringatan, jika tidak ada baris yang memenuhi syarat, pengecualian NoMatch akan dilemparkan.
1 | |
Dapatkan atau tidak sama sekali
get_or_none(*args, **kwargs) -> Model
Ini persis sama dengan yang dijelaskan di atas, tetapi jika tidak ada catatan database yang cocok dengan kriteria yang ditemukan, Tidak ada yang dikembalikan alih-alih pengecualian yang dilemparkan.
Memperoleh atau membuat
get_or_create(_defaults: Optional[Dict[str, Any]] = None, *args, **kwargs) -> Tuple[Model, bool]
Buat dan dapatkan kombinasi metode.
Upaya untuk mendapatkan baris yang memenuhi kriteria, dan jika pengecualian NoMatch dilemparkan, baris baru dibuat dengan kwarg dan\ _ default yang diberikan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Album peringatan!!!dan album2 pada contoh di atas adalah 2 objek Python yang berbeda, meskipun baris yang setara dalam database! Memperbarui salah satunya tidak akan menyegarkan yang kedua sampai Anda secara eksplisit memuat () data baru dari database.
Perhatikan bahwa jika Anda ingin membuat objek baru, Anda harus melewati nilai kolom pk, atau kolom pk harus disetel ke kenaikan otomatis
pertama
first(*args, **kwargs) -> Model
Mendapat baris pertama diurutkan dalam urutan menaik dengan kolom kunci utama dari database.
1 2 3 4 5 6 7 8 9 10 11 12 | |
semuanya
all(*args, **kwargs) -> List[Optional["Model"]]
Untuk opsi filter set, kembalikan semua baris dalam database untuk model yang diberikan.
Kwarg lewat adalah jalan pintas yang setara dengan memanggil filter (*args,*\ * kwargs).all ().
Jika tidak ada baris yang memenuhi syarat, daftar kosong dikembalikan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
iterasi
iterate(*args, **kwargs) -> AsyncGenerator["Model"]
Mengembalikan generator iterable asinkron untuk semua baris dalam database untuk model tertentu.
Arg dan / atau kwarg yang lewat adalah jalan pintas yang setara dengan memanggil filter(*args, **kwargs).iterate().
Jika tidak ada baris yang memenuhi kondisi tersebut, generator asinkron kosong dikembalikan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
!!!memperingatkan bahwa menggunakan iterasi () akan menyebabkan panggilan sebelumnya ke prefetch\ _ lated () diabaikan; tidak masuk akal untuk menyatukan kedua optimasi.
1 | |
metode model
Setiap contoh model memiliki seperangkat metode untuk menyimpan, memperbarui, atau memuat dirinya sendiri.
beban
Anda dapat memuat model terkait ForeignKey dengan memanggil metode beban ().
Load () dapat digunakan untuk me-refresh model dari database jika telah diubah oleh proses lain.
!!!Tip Baca lebih lanjut tentang metode beban () dalam metode model
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.
mendapatkan
Prinsip kerjanya persis sama dengan fungsi get di atas, tetapi memungkinkan Anda untuk mengambil objek terkait dari ujung hubungan yang lain.
!!!Untuk mempelajari lebih lanjut tentang QuerysetProxy, kunjungi bagian QuerysetProxy
Dapatkan atau tidak sama sekali
Ini persis sama dengan yang dijelaskan di atas, tetapi jika tidak ada catatan database yang cocok dengan kriteria yang ditemukan, Tidak ada yang dikembalikan alih-alih pengecualian yang dilemparkan.
!!!Untuk mempelajari lebih lanjut tentang QuerysetProxy, kunjungi bagian QuerysetProxy
Memperoleh atau membuat
Sama persis dengan fungsi get\ _ atau\ _ di atas, tetapi memungkinkan Anda untuk menanyakan atau membuat objek terkait dari ujung hubungan yang lain.
!!!Untuk mempelajari lebih lanjut tentang QuerysetProxy, kunjungi bagian QuerysetProxy
pertama
Ini identik dengan fungsi pertama di atas, tetapi memungkinkan Anda untuk menanyakan objek terkait dari ujung hubungan yang lain.
!!!Untuk mempelajari lebih lanjut tentang QuerysetProxy, kunjungi bagian QuerysetProxy
semuanya
Fungsionalitas yang sama seperti semua hal di atas, tetapi memungkinkan Anda untuk menanyakan objek terkait dari ujung hubungan yang lain.
!!!Untuk mempelajari lebih lanjut tentang QuerysetProxy, kunjungi bagian QuerysetProxy