peewee InternalError: (1054, u"Unknown column 't1.pk' in 'field list'")[peewee 小伙伴求助]

2017-07-14 22:44:18 +08:00
 ljdawn

大家好,我用 peewee 建标的时候出现一个问题, 当我查询 MyModel.select().first()报错 InternalError: (1054, u"Unknown column 't1.pk' in 'field list'") , 不用 mysql connection pool 的时候没问题. 也可以 MyModel.create(other_field='XXX')新建数据 .

from peewee import *
from playhouse.db_url import connect
mysql_db = connect('mysql+pool://root:root@127.0.0.1:3306/test?max_connections=20&stale_timeout=300')

class MySqlPrimaryKeyAutoIncrementField(BigIntegerField):
    def __init__(self, *args, **kwargs):
        kwargs['primary_key'] = True
        super(MySqlPrimaryKeyAutoIncrementField, self).__init__(*args, **kwargs)

    def __ddl__(self, column_type):
        ddl = super(MySqlPrimaryKeyAutoIncrementField, self).__ddl__(column_type)
        return ddl + [SQL('auto_increment')]

class MyModel(Model):
    pk = MySqlPrimaryKeyAutoIncrementField()
    other_field = TextField()
    class Meta:
        db_table = 'my_model'
        database = mysql_db

请问有人遇到么

3546 次点击
所在节点    Python
1 条回复
ljdawn
2017-07-14 22:51:36 +08:00
MySqlPrimaryKeyAutoIncrementField 这个字段不是很要紧,只是为了跟自己代码保持一致,所以放上来了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/375445

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX