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

tidak dapat membuat kunci utama peningkatan otomatis dengan flask-sqlalchemy

Tidak ada yang salah dengan kode di atas. Bahkan, Anda bahkan tidak perlu autoincrement=True atau db.Sequence('seq_reg_id', start=1, increment=1), karena SQLAlchemy akan secara otomatis mengatur Integer pertama Kolom PK yang tidak ditandai sebagai FK sebagai autoincrement=True .

Di sini, saya telah menyusun pengaturan kerja berdasarkan Anda. ORM SQLAlechemy akan menangani pembuatan id dan mengisi objek dengannya jika Anda menggunakan kelas berbasis Declarative Base yang telah Anda tetapkan untuk membuat instance objek Anda.

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.debug = True
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://user:[email protected]/testdb'
app.config['SQLALCHEMY_ECHO'] = True
db = SQLAlchemy(app)

class Region(db.Model):
    __tablename__ = 'regions'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100))

db.drop_all()
db.create_all()

region = Region(name='Over Yonder Thar')
app.logger.info(region.id) # currently None, before persistence

db.session.add(region)
db.session.commit()
app.logger.info(region.id) # gets assigned an id of 1 after being persisted

region2 = Region(name='Yet Another Up Yar')
db.session.add(region2)
db.session.commit()
app.logger.info(region2.id) # and 2

if __name__ == '__main__':
    app.run(port=9001)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tes IS NOT NULL untuk catatan tidak mengembalikan TRUE ketika variabel disetel

  2. Menyebarkan PostgreSQL pada Wadah Docker

  3. Bagaimana cara menyalin dari file CSV ke tabel PostgreSQL dengan header dalam file CSV?

  4. Postgres hilang kesalahan entri FROM-klausa pada kueri dengan klausa WITH

  5. Bagaimana cara mengganti database di postgres?