Приложение FastApi с администратором SQLAlchemy, загружающим изображения [закрыто] ⇐ Python

Программы на Python
Anonymous
Приложение FastApi с администратором SQLAlchemy, загружающим изображения [закрыто]

Сообщение Anonymous »

У меня есть приложение FastAPI, использующее SQLAlchemy orm, и в одной из моих таблиц есть image_url, который в API я загружаю в s3, получаю URL-адрес и сохраняю его в базе данных PostgresSQL.
Вопрос в следующем: :
как добавить поле загрузки изображения при создании новой категории, а не TextField
на панели администратора с помощью администратора SQLAlchemy, когда я создаю новую категорию, поле изображения представляет собой текстовое поле, сохраненное как строка в базе данных, и я хочу загрузить изображение в s3 и добавить URL-адрес в столбец
class Category(Base):
__tablename__ = "categories"

id = Column(Integer,primary_key=True, nullable=False)
name = Column(String, nullable=False)
image = Column(String, nullable=False, server_default="Image Not Found")
content = Column(String, nullable=False)
published = Column(Boolean, server_default='TRUE', nullable=False)
parent_id = Column(Integer)
created_at = Column(TIMESTAMP(timezone=True), nullable=False, server_default=text('NOW()'))

Конечная точка для создания
@router.post("/",status_code=status.HTTP_201_CREATED, response_model=schemas.Category)
def create_category(category: schemas.CategoryCreate, image_upload: UploadFile = File(...), db: Session = Depends(get_db), current_user: int = Depends(oauth2.get_current_user)):
image_url = utils.upload_image(image_upload)
new_category = models.Category(image = image_url, **category.model_dump())
db.add(new_category)
db.commit()
db.refresh(new_category)
return new_category

main.py
app = FastAPI()
admin = Admin(app, engine)

class Category(ModelView, model=models.Category):
column_list = [models.Category.id, models.Category.name, models.Category.image]

admin.add_view(Category)


Подробнее здесь: https://stackoverflow.com/questions/790 ... ing-images

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