Python全系列 教程
3567个小节阅读:5931.5k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
primary_key:True设置某个字段为主键。
autoincrement:True设置这个字段为自动增长的。
default:设置某个字段的默认值。在发表时间这些字段上面经常用。
nullable:指定某个字段是否为空。默认值是True,就是可以为空。
unique:指定某个字段的值是否唯一。默认是False。
onupdate:在数据更新的时候会调用这个参数指定的值或者函数。在第一次插入这条数据的时候,不会用onupdate的值,只会使用default的值。常用于是update_time
字段(每次更新数据的时候都要更新该字段值)。
name:指定ORM模型中某个属性映射到表中的字段名。如果不指定,那么会使用这个属性的名字来作为字段名。如果指定了,就会使用指定的这个值作为表字段名。这个参数也可以当作位置参数,在第1个参数来指定。
xxxxxxxxxx
title = Column(String(50),name='title',nullable=False)
title = Column('my_title',String(50),nullable=False)
xxxxxxxxxx
from datetime import datetime
from sqlalchemy import Column,Integer,DateTime,String
from db_util import Base,Session
class News(Base):
__tablename__ = 't_news2'
id = Column(Integer,primary_key = True,autoincrement = True)
phone = Column(String(11),unique = True)
title = Column(String(32),nullable = False)
read_count = Column(Integer,default=1)
create_time = Column(DateTime,default = datetime.now)
update_time = Column(DateTime,default = datetime.now, onupdate =datetime.now ) # 当数据更新后,参数的内容才会更改
def create_data():
new1 = News(phone='16866666666',title='测试列参数')
with Session() as session:
session.add(new1)
session.commit()
def create_data2():
# new1 = News(phone='16866666666',title='测试列参数') # 不允许重复
# new1 = News(phone='16866666668') # title不能为空
# with Session() as session:
# session.add(new1)
# session.commit()
with Session() as session:
new1 = session.query(News).first()
new1.read_count = 2
session.commit()
if __name__ == '__main__':
# Base.metadata.create_all()
# create_data()
create_data2()
实时学习反馈
1. 在SQLAlchemy中字段参数说法错误的是?
A primary_key为True时,是设置为主键
B default设置默认值
C nullable为True时,不允许为空
D unique默认是False,允许重复值
答案
1=>C