PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Pembuatan objek Django dan Urutan Postgres

semuanya bekerja dengan baik. Django's create() tidak ada hubungannya dengan peningkatan urutan secara langsung. singkat:

  • postgresql auto incrementing (tipe 'serial') hanyalah jalan pintas dari 'buat urutan + buat bidang bilangan bulat dengan nilai urutan sebagai default'
  • kunci utama bidang otomatis Django (idinteger jika tidak ditentukan lain oleh Anda) hanya membuat bidang serial
  • ketika Anda menentukan id secara manual, postgres memasukkan nilai ke dalam database. saat Anda menentukan nilai, parameter 'default' akan dihilangkan, yang merupakan perilaku yang tepat.

jadi, jika Anda ingin sisipan Anda menambah urutan dengan cara pilihan Anda, Anda perlu mengubah nilai urutan secara manual menggunakan SELECT setval('sequence_name', int_value); jika tidak, biarkan nol dan itu akan bertambah secara otomatis - pilih nilai saat ini dan tambahkan +1 (jika tidak ditentukan secara berbeda dalam definisi urutan).

ide lain adalah Anda membuat objek dan kemudian memperbarui id (tentu saja itu belum bisa digunakan) dan pada akhirnya mengatur nilai urutan ke id maksimal.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengikat variabel untuk nama kolom di PHP untuk kueri Postgresql

  2. Postgres:agregat kolom ke dalam array

  3. apakah adaptor rails postgres mendukung ssl?

  4. PostgreSQL - buat DB baru melalui pgAdmin UI

  5. PILIH dari satu tabel, INSERT ke dua tabel lainnya berdasarkan kondisi