会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132360个问题
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 436楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 437楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask高级 440楼

fl_53.zip

这节课的代码一直找不到哪里有bug

Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图高级 441楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图高级 443楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask数据库 445楼

在这节课敲代码的时候遇见了一个错误sqlalchemy.orm.exc.UnmappedInstanceError: Class 'builtins.NoneType' is not mapped,这个错误信息度娘了一下结果好像解决不了,如果没解决得话课程进度又往下不了。希望老师能帮忙测试一下~(ps:我以为是我代码输错了,检查几次发现没问题,把课程资料那里得源码复制下来运行还是出错)

相关代码:

from sqlalchemy  import  create_engine,Column,Integer,String,Float,DECIMAL,Boolean,Enum,Date,DateTime,Time,Text
from  sqlalchemy.ext.declarative  import  declarative_base
from sqlalchemy.dialects.mysql import  LONGTEXT
from sqlalchemy.orm  import  sessionmaker
from datetime import date,datetime,time
#在python 3.x中  有enum模块
import  enum

#准备连接数据库基本信息
HOSTNAME = '127.0.0.1'
PORT = '3306'
DATABASE = 'first_sqlalchemy'
USERNAME = 'root'
PASSWORD = 'root'

#dialect+driver://username:password@host:port/database?charset=utf8
#按照上述的格式来 组织数据库信息
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)

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上的ORM类模型对应数据中的表都删除
Base.metadata.create_all() #创建Base上的ORM类到数据库中成为表

错误信息截图:

image.png

Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask数据库 446楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask数据库 447楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 449楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask之Jinja2模版 450楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637