PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tạo đối tượng Django và Chuỗi Postgres

mọi thứ đều hoạt động tốt. create () của django không liên quan gì đến việc thực thi trình tự một cách trực tiếp. ngắn gọn:

  • tự động tăng dần postgresql (kiểu 'nối tiếp') chỉ là một phím tắt của 'tạo trình tự + tạo trường số nguyên với giá trị trình tự làm mặc định'
  • khóa chính trường tự động của django (idinteger nếu bạn không chỉ định khác) chỉ tạo một trường nối tiếp
  • khi bạn chỉ định id theo cách thủ công, postgres sẽ chèn giá trị vào cơ sở dữ liệu. khi bạn chỉ định một giá trị, nó sẽ bỏ qua tham số 'mặc định', đây là một hành vi phù hợp.

vì vậy, nếu bạn muốn các phần chèn của mình tăng chuỗi theo cách bạn chọn, bạn cần phải thay đổi thủ công giá trị chuỗi bằng cách sử dụng SELECT setval ('serial_name', int_value); nếu không, hãy để nó rỗng và nó sẽ tự động tăng lên - chọn giá trị hiện tại và tăng nó lên +1 (nếu không được chỉ định khác trong định nghĩa trình tự).

một ý tưởng khác là bạn tạo đối tượng và sau đó cập nhật id (tất nhiên nó không thể được sử dụng) và cuối cùng đặt giá trị trình tự thành id tối đa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao chép bảng từ cơ sở dữ liệu này sang cơ sở dữ liệu khác trong Postgres

  2. Rails + Postgres:Không trả lại thông tin múi giờ trên cột từ bảng đã tham gia

  3. Công thức hệ số tương quan Pearson trong SQL

  4. các phím tắt pgAdmin để thực thi các tập lệnh

  5. Postgresql:Thực thi psql kịch bản với mật khẩu