class Tweet(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String(140))
    create_time = db.Column(db.DateTime, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return 'id={}, tweet={}, create at={}, user_id={}'.format(
            self.id, self.body, self.create_time, self.user_id)
Esempio n. 2
0
class Tweet(db.Model):
    id = db.Column (db.Integer ,primary_key = True)
    body = db.Column(db.String(140))
    create_time = db.Column(db.DateTime,default= datetime.utcnow)
    user_id = db.Column(db.Integer ,db.ForeignKey('user.id'))#这里的'user,id'里的user不是class那个user而是所建的表的user。user_id必须是user那个table里面的id,所以用ForeignKey关联user里面的id
    def __repr__(self):#为了调试方便创建的函数,打印一个实例或者在shell显示
        return 'id={},body={},create_time={},user_id={}'.format(
            self.id,self.create_time,self.body,self.user_id
        )
Esempio n. 3
0
class Tweet(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String(140))
    create_time = db.Column(db.DateTime, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    """ 这里user是小写,代表table的名字,而这个class是大写的User
        默认情况下table的名字就是小写的class
    """
    def __repr__(self):
        return 'id = {}, body = {}, create at {}, user_id = {}'.format(
            self.id, self.body, self.create_time, self.user_id)
Esempio n. 4
0
class Tweet(db.Model):
    #從db.Model繼承
    id = db.Column(db.Integer, primary_key=True)
    #貼文的ID
    body= db.Column(db.String(140))
    #文字本體 長度限制140
    create_time= db.Column(db.DateTime, default=datetime.utcnow)
    #貼文的時間
    user_id= db.Column(db.Integer, db.ForeignKey('user.id'))
    #限制貼文者一定在db 使用者表裡的user.id  ForeignKey關聯

    def __repr__(self):
        return "id={},body={},create_time={},user_id={}".format(
            self.id, self.body, self.create_time, self.user_id
        )
Esempio n. 5
0
from twittor import db, login_manager  #这个db是init初始化的db
from datetime import datetime
from hashlib import md5

from werkzeug.security import generate_password_hash, check_password_hash  #用来保护密码,存为哈希值
from flask_login import UserMixin  #提供session管理的方法

followers = db.Table(
    'followers',
    db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('followed_id', db.Integer, db.ForeignKey('user.id')),
)


class User(UserMixin, db.Model):  #通过继承db.Model创建class User
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), unique=True,
                         index=True)  #加上index是因为速度会快一些
    email = db.Column(db.String(64), unique=True, index=True)
    password_hash = db.Column(db.String(128))
    about_me = db.Column(db.String(128))
    create_time = db.Column(db.DateTime, default=datetime.utcnow)
    tweets = db.relationship(
        'Tweet', backref='author',
        lazy='dynamic')  #这里的'Tweet'里的,用来了解一个用户发了多少个推特,不是表中的一列

    followed = db.relationship('User',
                               secondary=followers,
                               primaryjoin=(followers.c.follower_id == id),
                               secondaryjoin=(followers.c.followed_id == id),
                               backref=db.backref('followers', lazy='dynamic'),