25 tests covering Shape, Diff, and NestedDiff: - Shape metaclass: model resolution, field extraction, nested detection, spec/pair building - Query: list, filter, nested relations, empty results, Pydantic serialization - Diff (new): detects all fields as changed - Diff (existing): no changes, single field, multiple fields, nonexistent ID - Diff (nested): created, updated, deleted, combined, nonexistent relation Fixes: - django-readers moved from optional to core dependency - Shape import lazy-loaded via __getattr__ (django_readers imports contenttypes which can't happen during apps.populate()) - Added Author, Book, Tag test models Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.2 KiB
2.2 KiB