Implement historical tracking using django-pghistory; add middleware for context capture and update model architecture

This commit is contained in:
pacnpal
2025-02-08 21:18:44 -05:00
parent 71b73522ae
commit a148d34cf9
6 changed files with 223 additions and 1 deletions

View File

@@ -36,7 +36,23 @@
- Use Redis for session storage
- Cache invalidation rules
### Frontend Patterns
### Historical Tracking
- All model changes create immutable pghistory events
- Events contain:
- Full object state snapshot
- Contextual metadata (user, request fingerprint)
- Semantic event label (created, updated, deleted)
- Middleware integration:
```python
# core/middleware.py
pghistory.context(lambda request: {
'user': str(request.user) if request.user.is_authenticated else None,
'ip': request.META.get('REMOTE_ADDR'),
'user_agent': request.META.get('HTTP_USER_AGENT')
})
```
## Frontend Patterns
1. HTMX Integration
```html