Получение ошибки «400 Bad Request» при отправке POST-запроса в FastAPI – как исправить?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Получение ошибки «400 Bad Request» при отправке POST-запроса в FastAPI – как исправить?

Сообщение Anonymous »

Я разрабатываю веб-приложение с использованием FastAPI и SQLAlchemy. Когда я отправляю запрос POST на свою конечную точку /api/calls для создания нового вызова, я получаю ошибку «400 Bad Request». Ниже приведен фрагмент кода, в котором возникает проблема:

Код: Выделить всё

@router.post("/api/calls", status_code=201)
def create_calls(call: CallsCreate):
db: Session = Session()
try:
new_call = Calls(
date=call.date,
call_type=call.call_type,
description=call.description
)
print(new_call)
db.add(new_call)
db.commit()
db.refresh(new_call)
return new_call
except Exception as e:
db.rollback()
raise HTTPException(status_code=400, detail=str(e))
finally:
db.close()
быстрый API пишет это
Ошибка: неверный запрос
Тело ответа
{"detail": "Объект 'int' не имеет атрибута '_sa_instance_state'"
>
Заголовки ответов
access-control-allow-credentials: true
access-control -allow-origin: *
длина контента: 63
тип контента: application/json
дата: понедельник, 16 сентября 2024 г., 09:51:23 GMT
сервер: uvicorn
ошибка появилась после того, как я написал код связывания таблиц
`#Определение модели CallType
класс CallType(Base):
tablename< /strong> = "типы_вызовов"

Код: Выделить всё

id = Column(Integer, primary_key=True, index=True)
fire_ranks = Column(String, unique=True, index=True)

# Связь с Calls
calls = relationship("Calls", back_populates="call_type")
Определение модели Вызовы
Вызовы класса(Base):
имя_таблицы[/b] = "вызовы"

Код: Выделить всё

id = Column(Integer, primary_key=True, index=True)
date = Column(DateTime)
call_type_id = Column(Integer, ForeignKey('call_types.id'))
description = Column(String)

# Связь с CallType
call_type = relationship("CallType", back_populates="calls")
`

Подробнее здесь: https://stackoverflow.com/questions/789 ... api-how-to
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»