python入门教程之二十三ORM

在这里插入图片描述
在这里插入图片描述

import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String

engine = vreate_engine()
Base = declarative_base() #生成orm基类

class User(Base):
	__tablename__ = 'user' #表名
	id = CoColumn(Integer,primary_key = True)
	name = Column(String(32))
	password = Column(String(64))

Base.metadata.create_all(engine)#创建表结构

Session_class = sessionmaker(bind = engine)#创建与数据库的会话session class
Session = Session_class()#生成session实例
user_obj = User(name = "alex",password = "alex3714")#生成你要创建的数据对象
user_obj2 = User(name = "Jack",password = "122")
print(user_obj.name,user_obj.id)#此时还没创建对象
Session.add(user_obj)#把要创建的数据对象添加到这个session里,等下同一创建
Session.add(user_obj2)#把要创建的数据对象添加到这个session里,等下统一创建

print(user_obj.name,user_obj.id)#此时也依然还没创建
Session.commit(

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import sqlalchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String

class Student(Base):
	__tablename__ = "student"
	id = Column(Integer,primary_key = True)
	name = Column(String(32),nullable = False)
	register_date =CColumn(register_date,nullable = False)

	def __repr__(self):
		return "<%s name:%s>"%(self.id,self.name)
class StudyRecord(Base):
	__tablename__="study_record"
	id = Column(Integer,primary_key=True)
	day = Column(Integer,nullable = False)
	status = Column(String(32),nullable = False)
	stu_id = Column(Integer,ForeignKey("student.id"))
	#study_obj = query(id=1)
	#student = query(Student).filter(Student.id ==stu_obj.stu_id).first()
	student = relationship("Student",backref = "my_study_record")
	#允许在user表里通过backref字段反向查出所有它在addresses表里的关联项
s1 = Student(name = "Alex",register_date = "2014-05-21")
s2 = Student(name = "Jack",register_date = "2014-03-21")
s3 = Student(name = "Rain",register_date = "2014-02-21")
s4 = Student(name = "Eric",register_date = "2013-01-21")

study_obj1 = StudyRecord(day=1,status = 'YES',stu_id = 1)
study_obj2 = StudyRecord(day=2,status = 'NO',stu_id = 1)
study_obj3 = StudyRecord(day=3,status = 'YES',stu_id = 1)
study_obj4 = StudyRecord(day=4,status = 'YES',stu_id = 2)

session.add_all([s1,s2,s3,s4,study_obj1,study_obj2,study_obj3,study_obj4])



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值