Add models and Add fake data

This commit is contained in:
Andros Fenollosa
2018-01-31 23:17:52 +01:00
parent d5e95e25d0
commit 766c0d868f
5 changed files with 89 additions and 8 deletions

View File

@ -1,15 +1,19 @@
# -*- coding: utf-8 -*-
# Librarys
import os
from flask import Flask
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
app = Flask(__name__)
# Settings
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.sqlite'
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DATABASE_URI')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# Variables
@ -28,7 +32,7 @@ class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(100))
email = db.Column(db.String(200))
mail = db.Column(db.String(200))
password = db.Column(db.String(106))
created_at = db.Column(
db.DateTime, nullable=False, default=datetime.utcnow)
@ -45,14 +49,25 @@ class News(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100))
link = db.Column(db.String(500))
user_id = db.Column(
db.Integer, db.ForeignKey('users.id'), nullable=False)
created_at = db.Column(
db.DateTime, nullable=False, default=datetime.utcnow)
user_id = db.Column(
db.Integer, db.ForeignKey('user.id'), nullable=False)
# Relations
user = db.relationship(
'User', backref=db.backref('News', lazy=True))
@property
def serialize(self):
"""Return object data in easily serializeable format"""
return {
'id': self.id,
'title': self.title,
'link': self.link,
'user_id': self.user_id
}
def __repr__(self):
return '<News Table {0}>'.format(self.title)
@ -64,11 +79,16 @@ class Comment(db.Model):
__tablename__ = 'comments'
id = db.Column(db.Integer, primary_key=True)
text = db.Column(db.String(1000))
news_id = db.Column(
db.Integer, db.ForeignKey('news.id'), nullable=False)
user_id = db.Column(
db.Integer, db.ForeignKey('users.id'), nullable=False)
created_at = db.Column(
db.DateTime, nullable=False, default=datetime.utcnow)
news_id = db.Column(
db.Integer, db.ForeignKey('news.id'), nullable=False)
# Relations
user = db.relationship(
'User', backref=db.backref('Comment', lazy=True))
news = db.relationship(
'News', backref=db.backref('Comment', lazy=True))