Wpis z mikrobloga

Mirki z #python - jak komunikować się z bazą danych w kilku wątkach, używając sqlachemy?
Mam obiekt klasy A odpowiadający rekordom w tabeli a, z relacją one-to-many do rekordów z tabeli b (obiekt klasy B). W głównym wątku aplikacji dokonuję operacji na obiekcie A, a w oddzielnym wątku (threading.Thread) tworzę nowe obiekty B, podając im jako argument obiekt A z głównego wątku (żeby zachować odpowiednią relację).
Problem w tym, że tak stworzony obiekt B jest przypisany do tej samej sesji, co obiekt A, co do którego zachodzi relacja, i przy próbie commitowania sesji do bazy, wywala błąd (sesja może być używana tylko w obrębie jednego wątku).
Jak rozwiązać taki problem, żeby było elegancko?


#programowanie #orm #sqlalchemy
  • 3