会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133795个问题
Python 全系列/第一阶段:AI驱动的Python编程/面向对象 12063楼
Python 全系列/第一阶段:AI驱动的Python编程/函数和内存分析 12064楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/数组和数据存储 12065楼

后端会报错的代码:

# 商品管理Model的创建

class Goods(db.Model):

    __tablename__ = 't_goods'

    id = db.Column(db.Integer,primary_key=True)

    name = db.Column(db.String(512))

    price = db.Column(db.DECIMAL(20,4))  # 这里使用db.DECIMAI(20,4),在获取商品列表时会报错 TypeError: Object of type Decimal is not JSON serializable

    number = db.Column(db.Integer)

    introduce = db.Column(db.Text)

    big_log = db.Column(db.String(256))

    small_log = db.Column(db.String(256))

    state = db.Column(db.Integer) # 0 未通过 1 审核中 2 已审核

    is_promote = db.Column(db.Integer)

    hot_number = db.Column(db.Integer)

    weight = db.Column(db.Integer)

    cid_one = db.Column(db.Integer,db.ForeignKey('t_category.id'))

    cid_two = db.Column(db.Integer,db.ForeignKey('t_category.id'))

    cid_three = db.Column(db.Integer,db.ForeignKey('t_category.id'))


    category = db.relationship('Category',foreign_keys=[cid_three])


    def to_dict(self):

        return {

           'id':self.id,

            'name':self.name,

            'price':self.price,

            'number':self.number,

            'introduce':self.introduce,

            'big_log':self.big_log,

            'small_log':self.small_log,

            'state':self.state,

            'is_promote':self.is_promote,

            'hot_number':self.hot_number,

            'weight':self.weight,

            'cid_one':self.cid_one,

            'cid_two':self.cid_two,

            'cid_three':self.cid_three,

            'attrs':[a.to_dict() for a in self.category.attrs]

        }

之所以price设置为decimal类型而不是float类型,是因为float会丢失精度,在涉及金额时一般设置为decimal类型


Python 全系列/第九阶段:Flask百战电商后台系统/Flask百战电商后台项目 12066楼
Python 全系列/第十九阶段:数据分析-数据可视化/matplotlib(23旧) 12067楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/JAVA入门和背景知识 12068楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/Lambda表达式(旧) 12069楼

老师好,我在项目根目录下执行如下命令:

(django_env) E:\百战卓越程序员培训之Python\第十阶段Python_Django2框架\个人练习\章节2个人练习\test14_celery_study>flower -A test14_celery_study --port=5555

结果抛出如下异常:

Traceback (most recent call last):

  File "c:\users\23242\appdata\local\programs\python\python38-32\lib\runpy.py", line 194, in _run_module_as_main

    return _run_code(code, main_globals, None,

  File "c:\users\23242\appdata\local\programs\python\python38-32\lib\runpy.py", line 87, in _run_code

    exec(code, run_globals)

  File "C:\Users\23242\Envs\django_env\Scripts\flower.exe\__main__.py", line 7, in <module>

  File "c:\users\23242\envs\django_env\lib\site-packages\flower\__main__.py", line 11, in main

    flower.execute_from_commandline()

  File "c:\users\23242\envs\django_env\lib\site-packages\celery\bin\base.py", line 305, in execute_from_commandline

    return self.handle_argv(self.prog_name, argv[1:])

  File "c:\users\23242\envs\django_env\lib\site-packages\flower\command.py", line 56, in handle_argv

    return self.run_from_argv(prog_name, argv)

  File "c:\users\23242\envs\django_env\lib\site-packages\flower\command.py", line 51, in run_from_argv

    flower.start()

  File "c:\users\23242\envs\django_env\lib\site-packages\flower\app.py", line 60, in start

    self.listen(self.options.port, address=self.options.address,

  File "c:\users\23242\envs\django_env\lib\site-packages\tornado\web.py", line 2116, in listen

    server.listen(port, address)

  File "c:\users\23242\envs\django_env\lib\site-packages\tornado\tcpserver.py", line 152, in listen

    self.add_sockets(sockets)

  File "c:\users\23242\envs\django_env\lib\site-packages\tornado\tcpserver.py", line 165, in add_sockets

    self._handlers[sock.fileno()] = add_accept_handler(

  File "c:\users\23242\envs\django_env\lib\site-packages\tornado\netutil.py", line 279, in add_accept_handler

    io_loop.add_handler(sock, accept_handler, IOLoop.READ)

  File "c:\users\23242\envs\django_env\lib\site-packages\tornado\platform\asyncio.py", line 100, in add_handler

    self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)

  File "c:\users\23242\appdata\local\programs\python\python38-32\lib\asyncio\events.py", line 501, in add_reader

    raise NotImplementedError

NotImplementedError

请问老师这个该怎么解决?









Python 全系列/第十二阶段:Python_Django3框架/Django进阶 12072楼
Python 全系列/第一阶段:AI驱动的Python编程/控制语句 12075楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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