Skip to main content

Session

Database-backed user session.

Attributes:
session_id: Unique session identifier (used as cookie value)
user_id: User this session belongs to
expires_at: When the session expires
ip_address: Client IP address for security auditing
user_agent: Client user agent for display

Security:
- session_id should be cryptographically random
- Check expires_at before accepting session
- Track ip_address/user_agent for security alerts

Source: session.py

Fields

FieldTypeRequiredDescriptionValidators
session_idstrUnique session identifier-
user_idstrUser this session belongs to-
expires_atdatetimeSession expiration time-
ip_addressstrNoneClient IP address
user_agentstrNoneClient user agent string

Configuration

SettingValue
SubmittableFalse
Track ChangesTrue

Controller

Controller hooks are implemented in *_controller.py files. Available lifecycle hooks:

  • validate() - Called before save, raise exceptions for validation errors
  • before_insert() - Called before inserting a new document
  • after_insert() - Called after successfully inserting
  • before_save() - Called before saving (insert or update)
  • after_save() - Called after saving
  • before_delete() - Called before deleting
  • after_delete() - Called after deleting