gpt4 book ai didi

peewee - Peewee中的自动递增字段

转载 作者:行者123 更新时间:2023-12-01 14:30:33 31 4
gpt4 key购买 nike

有没有一种方法可以在peewee中定义自动递增字段。

我知道我们可以定义序列,但是手动创建序列而不需要由create_tables管理的需求使我无法使用它。 (构建过程由创建表管理,我不希望不添加手动步骤)

import peewee
class TestModel(peewee.Model):
test_id = peewee.BigIntegerField(sequence='test_id_seq')

替代上面的代码,我宁愿拥有。由于大多数数据库都有序列字段,所以我看不到保持序列的点。
import peewee
class TestModel(peewee.Model):
test_id = peewee.AutoIncremenetIntField()

最佳答案

您可以将PrimaryKeyField()用作注释中提到的@wyatt

或者你可以使用Playhouse- Signal Support (peewee extensions)

from playhouse.signals import Model, pre_save

class MyModel(Model):
data = IntegerField()

@pre_save(sender=MyModel)
def on_save_handler(model_class, instance, created):
# find max value of temp_id in model
# increment it by one and assign it to model instance object
next_value = MyModel.select(fn.Max(MyModel.temp_id))[0].temp_id +1
instance.temp_id = next_value

关于peewee - Peewee中的自动递增字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37120891/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com