Код: Выделить всё
health_indicators: WriteOnlyMapped["HealthIndicators"] = relationship("HealthIndicators",
uselist=True, back_populates="part")
< /code>
Таким образом, по умолчанию Health_indicators никогда не заполняется, но настроены на написание, если считываться из db. < /p>
Теперь я хочу заполнить список определенным выбором. заявление. И предоставить методы в моем Partrepo, которые возвращают объекты с заполненными медицинскими людьми: < /p>
def get_part_by_id_filled_latest_hi(self, part_id: str) -> Part | None:
part = self.get_part_by_id(part_id)
if part:
part.health_indicators = self.db_session.scalars(HealthIndicatorsRepo.between_dates_stmt(part_id, None, None)).all()
return part
Код: Выделить всё
E sqlalchemy.exc.InvalidRequestError: Collection "Part.health_indicators" does not support implicit iteration; collection replacement operations can't be used
< /code>
Я понимаю значение и идею этой ошибки (что, если я замените, а затем безопасен на db:-p).
-это простой способ предоставить мою «часть» с заполненными Health_indicators? Или вы можете предложить другим способом для моего варианта использования?
part.health_indicators.add_all(self.db_session.scalars(fill_query).all())Что не дает ошибки, а как получить доступ к моим элементам изнутри «writeoncollection» - кажется, это не итерабильный или вид списка.
Подробнее здесь: https://stackoverflow.com/questions/792 ... collection