<pre><code>
# 导入必要的库
from sqlalchemy import create_engine, Column, Integer, String, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship
# 创建基础类
Base = declarative_base()
# 定义用户表
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
username = Column(String(50), unique=True)
# 定义文档表
class Document(Base):
__tablename__ = 'documents'
id = Column(Integer, primary_key=True)
title = Column(String(100))
user_id = Column(Integer, ForeignKey('users.id'))
user = relationship("User", back_populates="documents")
# 用户与文档建立关系
User.documents = relationship("Document", order_by=Document.id, back_populates="user")
# 初始化数据库引擎
engine = create_engine('sqlite:///document_management.db')
Base.metadata.create_all(engine)
# 创建会话
Session = sessionmaker(bind=engine)
session = Session()
# 添加新用户
new_user = User(username='admin')
session.add(new_user)
session.commit()
# 添加新文档
new_doc = Document(title='项目计划', user_id=new_user.id)
session.add(new_doc)
session.commit()
# 查询所有文档
for doc in session.query(Document).all():
print(doc.title)
# 版本控制示例
class DocumentVersion(Base):
__tablename__ = 'document_versions'
id = Column(Integer, primary_key=True)
document_id = Column(Integer, ForeignKey('documents.id'))
content = Column(String(500))
document = relationship("Document", back_populates="versions")
Document.versions = relationship("DocumentVersion", order_by=DocumentVersion.id, back_populates="document")
# 云存储示例
import boto3
s3 = boto3.resource('s3')
s3.Bucket('your-bucket-name').put_object(Key='test.txt', Body=b'This is a test file.')
</code></pre>
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!