Я создал чат-бот WhatsApp, который принимает ключевые слова и возвращает результат в зависимости от отправленного ключевого слова. Затем данные отправляются в базу данных. Я хотел бы посчитать, сколько раз идентификатор пользователя, отправляющего ключевое слово, появляется в моей базе данных сегодня. Идентификатор пользователя в этом контексте - это номер человека.
Я начал с простой попытки подсчитать, сколько раз появляется число, но не могу правильно понять эту первую часть
Вот пример моего код
class Users(db.Model):
__tablename__ = 'users'
cell_number = db.Column(db.Integer, primary_key = True)
interaction_date = db.Column(db.DateTime, default = datetime.now(pytz.timezone('Africa/Harare')))
request_key = db.Column(db.String(64000))
counter = db.Column(db.Integer)
...
total = user_object.query.filter_by(user_object.cell_number).filter_by(user_object.interaction_date == func.current_date()).count()
Это возвращает сообщение об ошибке:
TypeError: filter_by() takes 1 positional argument but 2 were given
ОБНОВЛЕНИЕ
После прочтения отправленного комментария я внес несколько изменений в свой код, который немного изменил проблему, поэтому теперь я возвращаю счетчик для идентификаторов пользователей, однако я не могу фильтровать взаимодействия, которые произошли сегодня.
Вот мой измененный код:
interaction_date = Users.interaction_date
current = datetime.now(pytz.timezone('Africa/Harare')).strftime('%d-%m-%y')
total = Users.query.filter(user_object.cell_number == cleaned_number).filter(interaction_date == current).count()
Это, однако, возвращает счетчик 0, несмотря на то, что по крайней мере 17 взаимодействий с числом, которое я использую. Вот пример моей базы данных
cell_number interaction_date request_key
123 2020-03-25 13:51:44 xv
123 2020-03-25 13:51:50 cv
121 2020-03-24 22:22:30 dfdf
Важно добавить, что Interaction_date возвращает значение None. Я не уверен, почему я не извлекаю значение Interaction_date из моей базы данных
.