Итак, я пытаюсь запросить количество попыток доступа, неудачных и успешных, на ежедневной основе. Это таблицы, которые я создал.
class SystemLog(Base):
__tablename__ = 'SystemLog'
ID = Column(Integer, primary_key=True)
Date = Column(Text)
Time = Column(Text)
PID = Column(Integer)
Message = Column(Text)
class Messages(Base):
__tablename__ = 'Messages'
ID = Column(Integer, primary_key=True)
Message = Column(Text)
AccessType = Column(Text)
IP = Column(Integer)
Что я пробовал:
test = session.query(SystemLog.Date, Messages.AccessType, func.count(Messages.AccessType))\
.join(Messages).filter(SystemLog.ID==Messages.ID)\
.group_by(SystemLog.Date, Messages.AccessType).all()
Как выглядит строка SystemLog:
Как выглядит строка сообщений:
Но это дает мне сообщение об ошибке, в котором говорится, что мне нужно использовать предложение ON. Есть несколько вещей, в которых я тоже не уверен. Правильно ли созданы мои таблицы и как мне их объединить?
При этом я не могу поместить все столбцы в одну таблицу. По крайней мере, AccessType и IP должны быть в отдельной таблице, а дата, время, PID и сообщение должны быть в одной таблице.