feat(parser): support TaggableManager relations - #63
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughAdded ChangesTaggableManager support
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant DjangoModel
participant Parser
participant RelationMetadata
participant ERFormatBuilder
DjangoModel->>Parser: Provide TaggableManager field
Parser->>RelationMetadata: Classify as many-to-many
RelationMetadata-->>Parser: Set taggit.Tag and through model
Parser->>ERFormatBuilder: Provide parsed schema
ERFormatBuilder-->>Parser: Omit external taggit.Tag target
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Merged — thank you, this was a pleasure to review. Three things you did that I want to name, because they are the difference between a patch and a contribution: You updated both parsers. The issue said nothing about You branched from the current Your snapshot diff is an addition, not a rewrite. That is the tell I look for hardest on a fixture change. One note for whoever reads this later: You are credited by name in the CHANGELOG and in the README roadmap. It ships in the next release.
|
Cuts a release for the TaggableManager work contributed by @Guflly in #63, which closed #50. Nothing else has landed since py-1.10.0. Version bumped in all three manifests (pyproject.toml, cli/server.json in both its .version and .packages[0].version, smithery.yaml) so that test_manifest_sync stays green and the MCP registry, PyPI and Smithery all advertise the same number. Verified before tagging: 466 tests + 41 subtests, 111 JS tests, ruff and mypy clean.
|
Shipped in py-1.11.0, out now on every channel: PyPI, GHCR, the MCP Registry and Smithery. Release notes: https://github.com/FROWNINGdev/django-orm-lens/releases/tag/py-v1.11.0 Two things about this contribution I want on the record, because neither was asked for. You updated And your golden-snapshot change adds an entry rather than rewriting existing ones. On the Read the Docs fixture the You are credited in the CHANGELOG and in the README roadmap. No obligation at all, but if you want another of the same family: #49 is django-mptt — |
Summary
TaggableManageras a many-to-many relation in both parserstaggit.Tagandtaggit.TaggedItemdefaults while preserving explicitthrough=Type of change
Test plan
npm test— 111 passedChecklist
cd cli && pytest -qfor Python,npm testfor TypeScript) and it is green## [Unreleased]mcp_server.pyand the relevant tests intest_mcp_server.py## Summaryabove and suggested a migration pathRelated issues / discussions
Closes #50.
Summary by CodeRabbit
New Features
Tests