from sqlalchemy import create_engine,Column,Integer,String,Float,DECIMAL,Boolean,Date,DateTime,Text,Time
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.dialects.mysql import LONGTEXT
from sqlalchemy.orm import sessionmaker
from datetime import date,datetime,time
import enum
#准备连接数据库基本信息
HOSTNAME='127.0.0.1'
PORT='3306'
DATABASE='first_sqlalchemy'
USERNAME='root'
PASSWORD='root'
DB_URI ="mysql+pymysql://{username}:{password}@{host}:{port}/{db}?charset=utf8".format(username=USERNAME,password=PASSWORD,host=HOSTNAME,port=PORT,db=DATABASE)
#创建数据库引擎
engine=create_engine(DB_URI)
#需求:创建好一个ORM类模型 并映射到指定的数据库中成为 表
#1. 用`declarative_base`根据`engine`创建一个ORM基类。
Base=declarative_base(engine)
#需求:sqlalchemy中常用的字段数据类型有哪些?
#定义一个枚举类
class TagEnum(enum.Enum):
python="Python"
flask="FLASK"
django="DJANGO"
class News(Base):
__tablename__='news'
id=Column(Integer,primary_key=True,autoincrement=True)
price1=Column(Float)
price2=Column(DECIMAL(10,4))
title=Column(String(50))
is_delete=Column(Boolean)
tag1 = Column(Enum('PYTHON', 'FLASK','DJANGO'))
tag2=Column(Enum(TagEnum))
create_time1=Column(Date)
create_time2=Column(DateTime)
create_time3=Column(Time)
content1=Column(Text)
content2=Column(LONGTEXT)
# Base.metadata.drop_all()
# Base.metadata.create_all()
老师,请问,Enum这里总是报错,是怎么回事呢
