我希望主键id
字段为Bigint
class Tweets(Model):
id = BigIntegerField(primary_key=True)
...
但它需要auto_incremented,我无法在Peewee文档中找到方法。 请建议是否可能。
更新:我正在使用MySql db。
答案 0 :(得分:3)
Peewee自动生成一个整数id
列作为主键,具有auto_increment属性。对于您使用Peewee创建的任何表格都是如此。
IntegerField
很可能满足您的需求; BigIntegerField
很少有用。你真的需要大于2147483647的数字吗?你会插入超过20亿行吗?
请参阅:http://dev.mysql.com/doc/refman/5.5/en/integer-types.html
答案 1 :(得分:1)
看起来应该有所帮助。
创建表后,执行:
db.register_fields({'primary_key': 'BIGINT AUTOINCREMENT'})
之后当你说
时class Tweets(Model):
id = PrimaryKey()
...
class Meta():
db = db
然后在mysql中该字段将显示为具有自动增量的BigInt
答案 2 :(得分:0)
我认为最方便的答案是使用SQL constraints:
import peewee
class MyModel(peewee.Model):
id = peewee.BigIntegerField(primary_key=True, unique=True,
constraints[peewee.SQL('AUTO_INCREMENT')])
答案 3 :(得分:0)
Peewee,3.1,包括一个BigAutoField,它是一个使用64位整数存储的自动递增整数字段。应该做的诀窍:
http://docs.peewee-orm.com/en/latest/peewee/api.html#BigAutoField