Код: Выделить всё
@router.post("/courses/{instructor_id}", response_model=course.Course,
status_code=status.HTTP_201_CREATED)
def create_course(instructor_id: int, course: course.CourseBase, db: Session = Depends(get_db)):
return crud.create_course(db=db, course=course, instructor_id=instructor_id)
Код: Выделить всё
def create_course(db: Session, course: course.CourseBase, instructor_id: int):
current_date = datetime.today().strftime("%d/%m/%Y %H:%M:%S")
db_course = models.Course(
name=course.name,
grade=course.grade,
mainTopic=course.mainTopic,
background=course.background,
courseType=course.courseType,
subTopics=course.subTopics,
startingDate=course.startingDate,
instructor_id=instructor_id,
dateCreated=current_date
)
db.add(db_course)
db.commit()
db.refresh(db_course)
return db_course
Код: Выделить всё
class Course(Base):
__tablename__ = "courses"
course_id = Column(Integer, primary_key=True, index=True)
name = Column(String, index=True)
dateCreated = Column(String, index=True)
background = Column(String)
courseType = Column(String)
grade = Column(String)
mainTopic = Column(String)
subTopics = Column(String(1500))
startingDate = Column(String, index=True)
instructor_id = Column(Integer, ForeignKey("instructors.instructor_id"))
instructor = relationship("Instructor", back_populates="courses")
Код: Выделить всё
class CourseBase(BaseModel):
name: str
courseType: str
background: str | None = None
grade: str
mainTopic: str
subTopics: str | None = None
startingDate: str | None = None
class Config:
orm_mode = True
class Course(CourseBase):
course_id: int
name: str
dateCreated: str | None = None
instructor_id: int
class Config:
orm_mode = True
При запуске в производственной среде происходит сбой и возвращается эта ошибка.
Невозможно добавить или обновить дочерняя строка: ограничение внешнего ключа не выполнено (
Код: Выделить всё
DB.coursesКод: Выделить всё
instructor_idПодробнее здесь: https://stackoverflow.com/questions/791 ... my-fastapi
Мобильная версия