Python 例如,包的用例以及如何遍历我描述的从a到d的工作流程每个模型都有一个create_table()类方法,该方法在数据库中运行create table语句。它将创建表,包括所有列、外键常量和索引。通常,每当添加新型号时,您只需执行一次。。这个包如何不能与现有

Python 例如,包的用例以及如何遍历我描述的从a到d的工作流程每个模型都有一个create_table()类方法,该方法在数据库中运行create table语句。它将创建表,包括所有列、外键常量和索引。通常,每当添加新型号时,您只需执行一次。。这个包如何不能与现有,python,mysql,select,create-table,peewee,Python,Mysql,Select,Create Table,Peewee,例如,包的用例以及如何遍历我描述的从a到d的工作流程每个模型都有一个create_table()类方法,该方法在数据库中运行create table语句。它将创建表,包括所有列、外键常量和索引。通常,每当添加新型号时,您只需执行一次。。这个包如何不能与现有表一起工作?我错过什么了吗?感谢您的帮助。请查看--您需要使用pwiz实用程序为遗留数据库生成模型;默认用法是定义模型并让框架处理数据库端。谢谢你的支持!我来看看。然而,我对我的原始帖子进行了编辑,并提出了一个后续问题,如果你对此有任何指导的话


例如,包的用例以及如何遍历我描述的从a到d的工作流程<代码>每个模型都有一个create_table()类方法,该方法在数据库中运行create table语句。它将创建表,包括所有列、外键常量和索引。通常,每当添加新型号时,您只需执行一次。。这个包如何不能与现有表一起工作?我错过什么了吗?感谢您的帮助。请查看--您需要使用
pwiz
实用程序为遗留数据库生成模型;默认用法是定义模型并让框架处理数据库端。谢谢你的支持!我来看看。然而,我对我的原始帖子进行了编辑,并提出了一个后续问题,如果你对此有任何指导的话。我很感激。谢谢。谢谢你的详细回复。事实证明,数据库中的现有表确实有一个主键(date)。我是否需要使用Wooble指示的pwiz向peewee提供此信息?感谢您的帮助。您不需要——pwiz只是一个代码生成器,它不会做任何您自己做不到的事情。可能只包括所解释的
primary\u key=True
参数。我正在调查SQLAlchemy,因为peewee将来不会做我想做的事情。很遗憾听到peewee没有做你需要的事情-如果你能提供任何建议或我可以做的事情来改进它,我将不胜感激。这对我来说很有用,另外,如果您是数据库新手,请不要将主键与unique混淆。我已经更新了答案,现在很清楚了。刚刚找到了制作合成键的方法。
>>> db = MySQLDatabase('nhl', user='root', passwd='blahblah')
>>> db.connect()


>>> class schedule(Model):
...     date = DateField()
...     team = CharField()
...     class Meta:
...             database = db

>>> test = schedule.select()
>>> test
<class '__main__.schedule'> SELECT t1.`id`, t1.`date`, t1.`team` FROM `nhl` AS t1 []
>>> test.get()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/site-packages/peewee.py", line 1408, in get
    return clone.execute().next()
  File "/usr/lib/python2.6/site-packages/peewee.py", line 1437, in execute
    self._qr = QueryResultWrapper(self.model_class, self._execute(), query_meta)
  File "/usr/lib/python2.6/site-packages/peewee.py", line 1232, in _execute
    return self.database.execute_sql(sql, params, self.require_commit)
  File "/usr/lib/python2.6/site-packages/peewee.py", line 1602, in execute_sql
    res = cursor.execute(sql, params or ())
  File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", line 201, in execute
    self.errorhandler(self, exc, value)
  File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1054, "Unknown column 't1.id' in 'field list'")
date = DateField(primary_key=True)
class Table(BaseModel):
    id_field = PrimaryKeyField()
class Table(BaseModel):
    id_field = CharField(primary_key=True)
primary_key = peewee.CompositeKey('date', 'team')