class Comment(db.Model): __tablename__ = 'comments' id = db.Column(db.Integer, primary_key=True, autoincrement=True) # 评论的ID,设为主键 content = db.Column(db.String(1024)) # 评论内容 status = db.Column(db.Integer, default=0) # 评论的状态,0表示正常,1表示被删除;默认为0 user_id = db.Column(db.Integer, db.ForeignKey('users.id')) # 该评论是哪个人(users.id)评论的,跟users表中的主键id有关联,需要用到users.id的值,则用ForeignKey函数;类似于某个表 # 的某个键值需要用到其他表的键值时,就要用ForeignKey这样的函数;比如上面的images.id需要用到users.id一个道理; # ForeignKey仅仅是取其他表中键的值,而并非关联起来,是表1的id用了表2的id,则用ForeignKey拷过来;若是关联,则用relationship image_id = db.Column(db.Integer, db.ForeignKey('images.id')) # ForeignKey仅仅是取其他表中键的值,而并非关联起来,是表1的id用了表2的id,则用ForeignKey拷过来;若是关联,则用relationship # 该评论是评给哪个图的,跟上面一个道理,需要关联images.id中的键值,要用ForeignKey函数进行取images.id中的值; # 即comments.image_id跟images.id关联起来了; users = db.relationship('User') # 含义解释:将两个表(Comment与User)关联起来了,表示Comment中的users是从User类来的; # 表示一个评论(当前的类/表)要跟User(要关联的东西)关联起来,用relationgship关联; # ForeignKey仅仅是取其他表中键的值,而并非关联起来,是表1的id用了表2的id,则用ForeignKey拷过来;若是关联,则用relationship # 构造函数 def __init__(self, content, image_id, user_id): self.content = content self.image_id = image_id self.user_id = user_id # 查询函数(Comment.query())数据查询后的内容和格式就是__repr__函数定义的,比如这里查询出来的只有评论id 和 评论内容; def __repr__(self): return '[Comment %d %s]' % (self.id, self.content)
class Comment(db.Model): id = db.column(db.Integer,primary_ket=True,autoincrement=True) image_id = db.column(db.Integer,db.ForeignKey('image.id')) user_id = db.column(db.Integer,db.ForeignKey('user.id')) content = db.column(db.String(512)) status = db.column(db.Integer,default=0) user = db.relation('User') def __int__(self,image_id,user_id,content): self.image_id = image_id self.user_id = user_id self.content = content def __repr__(self): return '[Comment %d %s]' %(self.user_id,self.content)
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) content = db.Column(db.String(1024)) image_id = db.Column(db.Integer, db.ForeignKey('image.id')) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) status = db.Column(db.Integer, default=0) # 0 -> normal 1 -> deleted def __init__(self, content, image_id, user_id): self.content = content self.image_id = image_id self.user_id = user_id self.created_date = datetime.now() def __repr__(self): return '<comment %d %s>' % (self.id, self.content)
class Comment(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) content=db.Column(db.String(1024)) image_id=db.Column(db.Integer,db.ForeignKey('image.id')) user_id=db.Column(db.Integer,db.ForeignKey('user.id')) status=db.Column(db.Integer,default=0)#0正常1被删除 user=db.relationship('User') def __init__(self,content,image_id,user_id): self.content=content self.image_id=image_id self.user_id=user_id def __repr__(self): return '<Comment %d %s>' %(self.id,self.content)
class Comment(db.Model): __table_args__ = {'mysql_collate': 'utf8_general_ci'} id = db.Column(db.Integer, primary_key=True, autoincrement=True) content = db.Column(db.String(1024)) image_id = db.Column(db.Integer, db.ForeignKey('image.id')) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) status = db.Column(db.Integer, default=0) # 0 正常 1删除 user = db.relationship('User') def __init__(self, content, image_id, user_id): self.content = content self.image_id = image_id self.user_id = user_id def __repr__(self): return ('<Comment%d %s>' % (self.id, self.content)).encode('gbk')
class Image(db.Model): __tablename__ = 'images' # 表名 id = db.Column(db.Integer, primary_key=True, autoincrement=True) # 图片的ID,主键 url = db.Column(db.String(512)) # 图片的URL地址 created_date = db.Column(db.DateTime) # 图片发表时间,用DateTime数据类型 user_id = db.Column(db.Integer, db.ForeignKey('users.id')) # ForeignKey仅仅是取其他表中键的值,而并非关联起来,是表1的id用了表2的id,则用ForeignKey拷过来;若是关联,则用relationship # 图片是那个用户ID发表的,则images表中的user_id是用users表中的id来的;他们有关联性,这是ORM的好处; # users的id是主键,users是id的主键表;images相对于users中的id来说是外键表; # 想让主键表中的键值直接过来用ForeignKey函数来实现; comments = db.relationship('Comment') # 含义解释:将两个表(Image与Comment)关联起来了,表示Image中的comments是从Comment类来的; # 表示一个图片(当前的类/表)有很多评论(要关联的东西),即Image类中的主键id可以对应许多comments,即一对多的关系,用relationgship关联; # ForeignKey仅仅是取其他表中键的值,而并非关联起来,是表1的id用了表2的id,则用ForeignKey拷过来;若是关联,则用relationship # 构造函数 def __init__(self, url, user_id): self.url = url self.created_date = datetime.now() self.user_id = user_id # 查询函数(Image.query())数据查询后的内容和格式就是__repr__函数定义的,比如这里查询出来的只有图片id 图片url; def __repr__(self): return '[Image %d %s]' % (self.id, self.url)
class Comment(db.Model): # 评论类 id = db.Column(db.Integer, primary_key=True, autoincrement=True) content = db.Column(db.String(1024)) imang_id = db.Column( db.Integer, db.ForeignKey('image.id')) # 这里吧image_id写成了inang_id 要注意构造函数那里也要修改 user_id = db.Column(db.Integer, db.ForeignKey('user.id')) status = db.Column(db.Integer, default=0) # 0正常 1删除 user = db.relationship('User') def __init__(self, content, image_id, user_id): self.content = content self.imang_id = image_id # 注意!!!!!! self.user_id = user_id def __repr__(self): # 表达评论 return '<Comment %d %s>' % (self.id, self.content)
class Image(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) url = db.Column(db.String(256)) created_date = db.Column(db.DateTime) comments = db.relationship('Comment') def __init__(self, url, user_id): self.url = url self.user_id = user_id self.created_date = datetime.now() def __repr__(self): return '<image %d %s>' % (self.id, self.url)
class Image(db.Model): __tablename__ = 'image' id = db.column(db.Integer,primary_key=True,autoincrement=True) uesr_id = db.column(db.Integer,db.ForeignKey('user.id')) creaate_date = db.column(db.DateTime) url = db.column(db.String(250)) comments = db.relationship('Comment',backref='image',lazy='dynamic') def __init__(self,user_id,create_time,url): self.user_id = user_id self.creaate_time = datetime.now() self.url = url def __repr__(self): return '[Image %d %s]' %(self.id,self.url)
class Image(db.Model): id_ = db.Column(db.Integer, primary_key=True, autoincrement=True) url = db.Column(db.String(1024)) user_id = db.Column(db.Integer, db.ForeignKey('user.id_')) created_date = db.Column(db.DateTime) comments = db.relationship('Comment') user = db.relationship('User') def __init__(self, url, user_id): self.url = url self.user_id = user_id self.created_date = datetime.now() def __repr__(self): return '<Image {0} {1}>'.format(self.id_, self.url)
class Image(db.Model): __table_args__ = {'mysql_collate': 'utf8_general_ci'} id = db.Column(db.Integer, primary_key=True, autoincrement=True) url = db.Column(db.String(512)) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) created_date = db.Column(db.DateTime) comments = db.relationship('Comment') def __init__(self, url, user_id): self.url = url self.user_id = user_id self.created_date = datetime.now() def __repr__(self): return '<Image %d %s>' % (self.id, self.url)
class Image(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) url = db.Column(db.String(512)) # 数据库中的外键,表示ID来源于User.id # URL为什么不用粘贴网址?db.Datetime是自定义数据类型? # id是图片id,user_id是图片所属的人的id,外键链接到user.id这一列上 # user_id可能有问题 user_id = db.Column(db.Integer, db.ForeignKey('user.id')) create_date = db.Column(db.DateTime) comments = db.relationship('Comment') __table_args__ = {'extend_existing': True} # 初始化函数 def __init__(self, url, user_id): self.url = url self.user_id = user_id self.create_date = datetime.now() #当前时间 def __repr__(self): return '<Image %d %s>' % (self.id, self.url)