在Python中生成用户标识

Chr*_*ris 1 python database sqlalchemy userid

我在python中使用SQLAlchemy创建了一个简单的数据库,并为每个输入的用户提供了一个唯一用户ID列.我希望有一个运行计数器,只要添加新用户,就会提供下一个ID.

实现这个的最佳方法是什么?一个值为最后一个id号的列,或者是一个完全独立的表(看起来很浪费.)有没有办法检查最后一个User.id并添加一个?这是用户基类:

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key = True)
    email_address = Column(String, nullable = False)
    username = Column(String, nullable = False)
    password = Column(String, nullable = False)
    first_name = Column(String)
    full_name = Column(String)
    join_date = Column(DateTime, default=func.now()) # enters the time upon initialization

    def __init__(self, email_address, username, password):
        self.email_address = email_address
        self.username = username
        self.password = password

    def __repr__(self):
        return "<User('%s', '%s', '%s', '%s')>" % (self.email_address, self.username, self.password, self.join_date)
Run Code Online (Sandbox Code Playgroud)

S.L*_*ott 5

阅读:http://www.sqlalchemy.org/docs/core/schema.html#defining-sequences.

密钥生成是数据库的一部分.

您只需要数据库分配唯一键.