PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Flask :sqlalchemy.exc.ProgrammingError:(psycopg2.ProgrammingError) relacja użytkownicy nie istnieje

Dwukrotnie inicjujesz swoją bazę danych.

Proponuję dobrze się temu przyjrzeć:http://flask.pocoo .org/docs/0.10/patterns/sqlalchemy/

Zasadniczo będziesz chciał podzielić rzeczy na kilka dodatkowych plików, aby zapobiec problemom z importowaniem i sprawić, by wszystko było trochę bardziej czyste. Zrobiłem poniższe, co wydaje się działać. Uwaga, używałem SQLite, ponieważ nie mam zainstalowanego Postgresa na tym urządzeniu.

aplikacja.py

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

modele.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

trasy.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()

Zdecydowanie sugeruję przejrzenie kilku samouczków! Będziesz tego potrzebować:powinieneś dowiedzieć się o lukach w zabezpieczeniach sieci, sprawdzonych metodach i tak dalej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kombinacje PostgreSQL bez powtórzeń

  2. Wnętrzności PostgreSQL:Co to jest „resjunk”?

  3. Debuguj funkcję PostgreSQL za pomocą pgAdmin

  4. Driver:[email protected] zwrócił wartość null dla adresu URL... Podczas wdrażania wiosennego rozruchu w Heroku

  5. Sequelize Migration — Utwórz wyzwalacz w PostgreSQL