2014-09-01 3 views
0

У меня есть таблица sqlite, подобная этому. Который имеет 3 столбца. Я хочу, чтобы подсчитывал количество строк, где user_id = 1 это возможно с помощью SQLAlchemy?подсчитывает количество строк с условием с SQLAlchemy

class UserImage(db.Model): 
     id = db.Column(db.Integer, primary_key=True) 
     user_id = db.Column(db.Integer, db.ForeignKey('user.id')) 
     photo = db.Column(db.String(250)) 

Это вернет все строки. Как изменить это, чтобы получить ожидаемый результат. rows = db.session.query (func.count (UserImage.user_id)). Scalar()

Большое вам спасибо.

+0

@plantian Пожалуйста, помогите –

+0

@codegeek Пожалуйста, помогите –

ответ

6

Вы можете сделать это следующим образом:

UserImage.query.filter(UserImage.user_id == 1).count() 

или

db.session.query(UserImage).filter(UserImage.user_id == 1).count() 
+0

Мне нужно, чтобы получить количество строк переменной. мне также нужно использовать .scalar()? –

+0

Если вам нужно количество строк, на которые влияет ваш запрос, вам не нужен скаляр. Scalar вернет экземпляры объектов, а не количество объектов. * count * возвращает целое значение, большее или равное нулю. –

+0

Есть ли разница между 1-м и вторым? –

Смежные вопросы