@Kirill-Gorelov
С ума с IT

Sqlachemy, менять параметры в зависимости от условий?

Как добавить в фильтр новое условие в зависимости от какого либо условия?
session.query(Products).filter(
    Products.article == importRow['articleCompetitor'],
    Products.competitor == competitorId,
).one_or_none()


И как менять набор данных для вставки? Я бы тут мог сделать фабрику и ее подсовывать в конструктор, но смущает именованные параметры в конструкторе.....
Products(
        name = importRow['nameLinkCompetitor'],
        link = importRow['linkCompetitor'],
        article = importRow['articleCompetitor'],
        price = importRow['priceCompetitor'],
        discount_price = importRow['discountPriceCompetitor'],
        competitor = competitorId
    )
  • Вопрос задан
  • 142 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
**kwargs?
kwargs = dict(  # общая часть
        name = importRow['nameLinkCompetitor'],
        link = importRow['linkCompetitor'],
        article = importRow['articleCompetitor'],
        price = importRow['priceCompetitor'],
        discount_price = importRow['discountPriceCompetitor'],
)
# условная часть
if competitorId:
        kwargs['competitor'] = competitorId
p = Product(**kwargs)  # и дальше используем p
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы