jjzjj

python - 如何使用 peewee 从字典(迭代)创建字段(数据库中的列)

我是peewee和python的新手。我正在尝试使用字典中的键作为字段名称创建一个mysql表。我试过下面的代码,但它只在数据库中创建一个字段='key'。看起来peewees框架看不到变量。我认为这必须是另一种优雅的方式,但我很困惑。frompeeweeimport*db=MySQLDatabase('exop',user='root',passwd='12345')dict={'a':'1','b':'2','c':'3'}classDict2db(Model):forkeyindict:key=CharField()classMeta:database=dbdb.connect(

python - 在 peewee union select 中放置一个空字段

我尝试选择两个具有某些公共(public)字段的表。在原始MySQL查询中,我可以这样写:SELECTt1.id,t1.username,t1.dateFROMtable1as't1'UNIONSELECTt2.id,"const_txt",t2.dateFROMtable2as't2'在该查询中,username字段不在table2中,我设置了const_txt。所以,在peewee中,我想合并两个具有相同上述情况的表。classPeeweeBaseModel(Model):classMeta:database=my_dbclassTable1(PeeweeBaseModel):id

python - 用于 MySQL 的 Peewee ORM JSONField

我有一个peewee像这样的模型:classUser(peewee.Model):name=peewee.CharField(unique=True)some_json_data=peewee.CharField()requested_at=peewee.DateTimeField(default=datetime.now())我知道peewee不支持MySQL数据库的JSONField,但无论如何,我认为如果我可以将它转换为字符串格式并保存到数据库,我可以按原样检索它。比方说,这是我正在写入数据库的JSONField:[{'name':'abcdef','address':'abcd

python - peewee + MySQL,如何创建包装 SQL 内置插件的自定义字段类型?

我想在peewee(通过MySQL)中创建一个自定义UUID字段。在python中,我将UUID用作十六进制字符串,例如:uuid='110e8400-e29b-11d4-a716-446655440000'但我想将它存储在数据库中的BINARY(16)类型的列中以节省空间。MySQL有内置的HEX()和UNHEX()方法来在字符串和二进制之间来回转换。所以我的问题是如何告诉peewee生成使用内置函数的SQL?这是我想要使用的代码的想法:classUUIDField(Field):db_field='binary(16)'defdb_value(self,value):ifvalue

python - 使用 peewee 插入 MySQL 表引发 "unknown column"异常

我有以下脚本:frompeeweeimport*db=MySQLDatabase('database',user='root')classBaseModel(Model):classMeta:database=dbclassLocations(BaseModel):location_id=PrimaryKeyField()location_name=CharField()classUnits(BaseModel):unit_id=PrimaryKeyField()unit_num=IntegerField()location_id=ForeignKeyField(Locations,r

python - Peewee MySQL 服务器已经消失

我使用flask和peewee。有时peewee会抛出这个错误MySQLserverhasgoneaway(error(32,'Brokenpipe'))Peewee数据库连接db=PooledMySQLDatabase(database,**{"passwd":password,"user":user,"max_connections":None,"stale_timeout":None,"threadlocals":True})@app.before_requestdefbefore_request():db.connect()@app.teardown_requestdeftea

Python peewee save() 没有按预期工作

我正在使用适用于Python的peeweeORM将对象插入/更新到MySQL数据库中。我有一个这样的模型:classPerson(Model):person_id=CharField(primary_key=True)name=CharField()我用一个循环创建对象/行,每次循环都有一个像这样的字典:pd={"name":"Alice","person_id":"A123456"}然后我尝试创建一个对象并保存它。po=Person()forkey,valueinpd.items():setattr(po,key,value)po.save()这需要一段时间才能执行,并且运行没有错误

python - 使用 peewee 进行多处理批量插入

我正在Python3.4中开发简单的html抓取工具,使用peewee作为ORM(很棒的ORM顺便说一句!)。我的脚本需要一堆站点,提取必要的数据并将它们保存到数据库中,但是每个站点都在分离过程中被抓取,以提高性能并且保存的数据应该是唯一的。不仅站点之间可能存在重复数据,而且在特定站点上也可能存在重复数据,因此我只想将它们存储一次。例子:帖子和类别-多对多关系。在抓取过程中,同一类别在不同帖子中出现多次。我第一次想将该类别保存到数据库(创建新行)。如果同一类别出现在不同的帖子中,我想将该帖子与数据库中已创建的行绑定(bind)。我的问题是-我是否必须使用原子更新/插入(插入一篇文章、保

mysql - 避免表中的列标题冲突加入 peewee

我正在尝试将peewee中的两个表与mysql数据库连接起来。做这样的事情很容易:s=Table1.select(Table1,Table2).join(Table2).naive().where(Table1.Title=="whatever")不幸的是,我将Table1和Table2中的列称为相同的东西“URL”。然后,当我选择s.URL时,它会给我Table2中的URL,我不想要它,我想要Table1中的URL。有没有办法不加入Table2.URL列或将其命名为不同的名称?Thisquestion似乎在解决常规SQL(不是peewee)中的类似问题,有没有办法在peewee中做类

python - 如何更改 Flask-peewee 中的 UserDoesNotExist SELECT 行为 - python 和 mysql

我正在使用flask-peewee制作一个API,如果表中不存在用户,我想返回一个404json,但似乎它抛出500错误而不是404错误json:这是我遇到的错误:UserDoesNotExist:instancematchingquerydoesnotexist:SQL:SELECTt1.`id`,t1.`username`,t1.`password`,t1.`email`,t1.`token`,t1.`join_date`,t1.`active`,t1.`admin`FROM`user`ASt1WHERE((t1.`active`=%s)AND(t1.`username`=%s))