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

Flask:sqlalchemy.exc.ProgrammingError:(psycopg2.ProgrammingError) người dùng quan hệ không tồn tại

Bạn đang khởi tạo cơ sở dữ liệu của mình hai lần.

Tôi khuyên bạn nên xem kỹ điều này: http://flask.pocoo .org / docs / 0.10 / styles / sqlalchemy /

Về cơ bản, bạn sẽ muốn chia mọi thứ thành một vài tệp nữa để ngăn chặn các vấn đề nhập và làm cho mọi thứ sạch sẽ hơn một chút. Tôi đã thực hiện những điều dưới đây có vẻ hoạt động. Lưu ý, tôi đã sử dụng SQLite, vì tôi chưa cài đặt Postgres trên hộp này.

app.py

from flask import Flask
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////test11.db'

models.py

from flask.ext.sqlalchemy import SQLAlchemy
from app import app
db = SQLAlchemy(app)

class User(db.Model):
    __tablename__ = 'users'
    uid = db.Column(db.Integer, primary_key = True)
    firstname = db.Column(db.String(100))
    lastname = db.Column(db.String(100))
    email = db.Column(db.String(120), unique=True)
    pwdhash = db.Column(db.String(54))

def __init__(self, firstname, lastname, email, password):
    self.firstname = firstname.title()
    self.lastname = lastname.title()
    self.email = email.lower()
    self.set_password(password)

def set_password(self, password):
    self.pwdhash = (password)

def check_password(self, password):
    return password

route.py

from models import User, db

db.create_all()
db.session.commit()

admin = User('admin', '[email protected]', 'admin1', '[email protected]')
guest = User('admi2', '[email protected]', 'admin', '[email protected]')
db.session.add(admin)
db.session.add(guest)
db.session.commit()

Tôi chắc chắn khuyên bạn nên xem qua một số hướng dẫn! Bạn sẽ cần nó:bạn nên tìm hiểu về các lỗ hổng web, các phương pháp hay nhất, v.v.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhảy khoảng cách SQL qua điều kiện cụ thể và sử dụng chì () thích hợp

  2. Không thể kết nối với Postgres DB do loại xác thực 10 không được hỗ trợ

  3. Cách bảo mật cơ sở dữ liệu PostgreSQL của bạn - 10 mẹo

  4. Trả về tập hợp các hàng từ hàm plpgsql.

  5. Lưu trữ PostgreSQL ARRAY của các giá trị ENUM