51 lines
1.9 KiB
Python
51 lines
1.9 KiB
Python
from flask import Flask
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
|
|
app = Flask(__name__)
|
|
app.config['SQLALCHEMY_DATABASE_URI'] = (
|
|
'mysql+mysqlconnector://vagrant@localhost/testdb')
|
|
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
|
|
db = SQLAlchemy(app)
|
|
|
|
|
|
class Country(db.Model):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
name = db.Column(db.String(80), unique=True, nullable=False)
|
|
|
|
def __repr__(self):
|
|
return '<Country %r>' % self.name
|
|
|
|
|
|
class City(db.Model):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
zip_code = db.Column(db.Integer, unique=True, nullable=False)
|
|
name = db.Column(db.String(80), unique=True, nullable=False)
|
|
country_id = db.Column(db.Integer, db.ForeignKey('country.id'),
|
|
nullable=False)
|
|
country = db.relationship('City', backref=db.backref('countrys',
|
|
lazy=True))
|
|
|
|
def __repr__(self):
|
|
return '<City %r>' % self.name
|
|
|
|
|
|
class User(db.Model):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
username = db.Column(db.String(80), unique=True, nullable=False)
|
|
email = db.Column(db.String(120), unique=True, nullable=False)
|
|
first_name = db.Column(db.String(120), nullable=False)
|
|
last_name = db.Column(db.String(120), nullable=False)
|
|
middle_name = db.Column(db.String(120), nullable=False)
|
|
street_name = db.Column(db.String(120), nullable=False)
|
|
telephonenumber = db.Column(db.String(120), nullable=False)
|
|
mobile_number = db.Column(db.String(120), nullable=False)
|
|
hobby = db.Column(db.String(120), nullable=False)
|
|
salutation = db.Column(db.String(120), nullable=False)
|
|
gender = db.Column(db.String(120), nullable=False)
|
|
city_id = db.Column(db.Integer, db.ForeignKey('city.id'), nullable=False)
|
|
city = db.relationship('City', backref=db.backref('users', lazy=True))
|
|
|
|
def __repr__(self):
|
|
return '<User %r>' % self.username
|
|
|