更新外键连接

This commit is contained in:
2026-09-21 12:22:26 +08:00
parent 72434a78bc
commit c45cae80c7
8 changed files with 23 additions and 25 deletions
+1
View File
@@ -9,4 +9,5 @@ dependencies = [
"pip>=26.2.1", "pip>=26.2.1",
"pymysql>=1.2.3", "pymysql>=1.2.3",
"sqlalchemy>=2.0.54", "sqlalchemy>=2.0.54",
"uvicorn>=0.53.0",
] ]
+1 -1
View File
@@ -49,7 +49,7 @@ def add_address(
add:AddRequest,db=Depends(get_db) add:AddRequest,db=Depends(get_db)
): ):
d = add.model_dump() d = add.model_dump()
r = add_employment_dao(o=d, db=db) r = add_address_dao(o=d, db=db)
if not r: if not r:
raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!') raise HTTPException(status_code=500, detail='服务器繁忙,请稍后添加!')
return EmpResponse(totals=1, data=d) return EmpResponse(totals=1, data=d)
+3 -2
View File
@@ -52,7 +52,7 @@ def update_orders_dao(id,update_data,db):
db.commit() db.commit()
return rows return rows
def get_orders_dao( def get_emp_dao(
# stuid, # stuid,
name name
,db ,db
@@ -92,7 +92,8 @@ def get_orders_dao(
def delete_orders_dao(id,db): def delete_orders_dao(id,db):
try: # 删除有返回值,删除的行数 try: # 删除有返回值,删除的行数
rows = db.query(Employments).filter(Employments.id == id).delete() rows = db.query(Employments).filter(Employments.id == id).update( is_deleted=1 )
except Exception as e: except Exception as e:
print(f'删除失败,{e}') print(f'删除失败,{e}')
db.rollback() db.rollback()
+1 -1
View File
@@ -4,7 +4,7 @@ from database import Base,engine
import model import model
app=FastAPI() app=FastAPI()
Base.metadata.create_all(engine) Base.metadata.create_all(engine)
app.include_router(CURD,tags=['就业管理系统'],prefix='/employment') app.include_router(CURD,tags=['就业管理系统'])
+9 -4
View File
@@ -45,10 +45,14 @@ class Employments(Base):
,nullable=False ,nullable=False
) )
company_id = Column(Integer company_id = Column(Integer
, ForeignKey('Company.id')
, nullable=False , nullable=False
) )
address_id = Column(Integer
, ForeignKey('Address.id')
, nullable=False
)
salary = Column(Integer) salary = Column(Integer)
employment_open_date = Column(DATETIME) employment_open_date = Column(DATETIME)
@@ -67,12 +71,13 @@ class Employments(Base):
class Company(Base): class Company(Base):
__tablename__ = 'Company' __tablename__ = 'Company'
id = Column(Integer id = Column(Integer
, ForeignKey('Employments.company_id')
, primary_key=True , primary_key=True
) )
compname = Column(String(50), nullable=False) compname = Column(String(50), nullable=False)
address_id = Column(Integer address_id = Column(Integer
# , ForeignKey('Address.id')
, nullable=False , nullable=False
) )
created_date = Column(DATETIME created_date = Column(DATETIME
@@ -85,9 +90,9 @@ class Company(Base):
is_deleted = Column(Integer, default=0) is_deleted = Column(Integer, default=0)
class Address(Base): class Address(Base):
__tablename__ = 'address' __tablename__ = 'Address'
id = Column(Integer id = Column(Integer
, ForeignKey('Company.address_id')
, primary_key=True , primary_key=True
) )
-6
View File
@@ -1,6 +0,0 @@
class
+6 -11
View File
@@ -7,13 +7,11 @@ class PostRequest(BaseModel):
compname: str|None=None compname: str|None=None
stuname: str|None=None stuname: str|None=None
stuclass: str|None=None stuclass: str|None=None
company_id:int|None=None
address_id: int|None=None address_id: int|None=None
salary: int|None=None salary: int|None=None
employment_open_date:date|None=None employment_open_date:date|None=None
offer_date:date|None=None offer_date:date|None=None
created_date: datetime=Field(default_factory=datetime.now)
updated_date: datetime=Field(default_factory=datetime.now)
is_deleted: bool = False
class EmpResponse(BaseModel): class EmpResponse(BaseModel):
code: int = 200 code: int = 200
detail: str = 'OK' detail: str = 'OK'
@@ -22,10 +20,9 @@ class EmpResponse(BaseModel):
class CompRequest(BaseModel): class CompRequest(BaseModel):
compname:str|None=None compname:str
created_date: datetime = Field(default_factory=datetime.now) address_id: int | None = None
updated_date: datetime = Field(default_factory=datetime.now)
is_deleted: bool = False
class CompResponse(BaseModel): class CompResponse(BaseModel):
code: int = 200 code: int = 200
detail: str = 'OK' detail: str = 'OK'
@@ -33,10 +30,8 @@ class CompResponse(BaseModel):
data: str | dict | tuple | list data: str | dict | tuple | list
class AddRequest(BaseModel): class AddRequest(BaseModel):
somewhere:str|None=None somewhere:str
created_date: datetime = Field(default_factory=datetime.now)
updated_date: datetime = Field(default_factory=datetime.now)
is_deleted: bool = False
class AddResponse(BaseModel): class AddResponse(BaseModel):
code: int = 200 code: int = 200
detail: str = 'OK' detail: str = 'OK'
Generated
+2
View File
@@ -845,6 +845,7 @@ dependencies = [
{ name = "pip" }, { name = "pip" },
{ name = "pymysql" }, { name = "pymysql" },
{ name = "sqlalchemy" }, { name = "sqlalchemy" },
{ name = "uvicorn" },
] ]
[package.metadata] [package.metadata]
@@ -853,6 +854,7 @@ requires-dist = [
{ name = "pip", specifier = ">=26.2.1" }, { name = "pip", specifier = ">=26.2.1" },
{ name = "pymysql", specifier = ">=1.2.3" }, { name = "pymysql", specifier = ">=1.2.3" },
{ name = "sqlalchemy", specifier = ">=2.0.54" }, { name = "sqlalchemy", specifier = ">=2.0.54" },
{ name = "uvicorn", specifier = ">=0.53.0" },
] ]
[[package]] [[package]]