SQLAlchemy Column

29 篇文章 1 订阅
24 篇文章 1 订阅

SQLAlchemy之Column常用参数

一、常用参数

  1. primary_keyTrue 设置某个字段为主键

  2. autoincrementTrue 设置这个字段为自增长

  3. default: 设置字段的默认值

  4. nullable:指定某个字段是否为空。默认值是True,可以为空。

  5. unique:指定某个字段的值是否唯一,默认是False。

  6. onupdate:在数据更新的时候会调用这个参数指定的值或者函数。在第一次插入这条数据的时候,不会用onupdate的值,只会使用default的值。常用于是字段(每次更新数据的时候都要更新该字段值)。

  7. name:指定ORM模型的中某个属性映射到表中的字段名。如果不指定,那么会使用这个属性的名字来作为字段名。如果指定了,就会使用指定的这个值作为表字段名。这个参数也可以当作位置参数,在第1个参数来指定

二、参考用法

class TableName(db.Model):
    __tablename__ = 'table_name'					#当数据库的表名与类名不对应时需要设置
    __table_args__ = {'extend_existing': True}		#避免flask迁移数据库,二次创建表问题
    id = db.Column(db.Integer, primary_key=True)	#sqlalchemy必须要
	title = Column(String(50),name='title',nullable=False)
	# title = Column('my_title',String(50),nullable=False)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQLAlchemyColumn定义中常用的属性有: 1. type:指定列的数据类型,常用的数据类型有String、Integer、Boolean、DateTime等。例如: ```python from sqlalchemy import Column, String class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(50)) ``` 2. primary_key:指定列是否为主键。例如: ```python from sqlalchemy import Column, Integer, String class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(50)) ``` 3. unique:指定列的值是否唯一。例如: ```python from sqlalchemy import Column, Integer, String class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(50), unique=True) ``` 4. nullable:指定列是否可以为NULL。例如: ```python from sqlalchemy import Column, Integer, String class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(50), nullable=False) ``` 5. default:指定列的默认值。例如: ```python from sqlalchemy import Column, Integer, String, DateTime, func class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(50), nullable=False) created_at = Column(DateTime, default=func.now()) ``` 6. index:指定列是否创建索引。例如: ```python from sqlalchemy import Column, Integer, String, Index class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(50)) email = Column(String(50), unique=True, index=True) idx_name_email = Index('idx_name_email', name, email) ``` 7. server_default:指定数据库端默认值。例如: ```python from sqlalchemy import Column, Integer, String class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(50)) status = Column(Integer, server_default='0') ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卑微小钟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值