Refactor models.py#56
Merged
Merged
Conversation
- Moved all DQM1 specific models from `src/app/models.py` to `src/app/models/dqm1/` for better organization - `src/app/models.py` file deleted because it's empty
Refactor endpoints and models
- MonsterFamily related models in src/app/models/dqm1/models/monster.py moved to separate file within the same directory
- Moved MonsterFamilyRead related models from monster_family.py to schemas.py - Moved MonsterDetailRead related models from monster.py - Moved SkillRead related models from skill.py - Prevents circular import problem between model files that import each other
- Removed MonsterDetailRead related models to schemas.py - Moved MonsterSkillLink to associations.py
- Moved MonsterFamilyRead class to models/dqm1/schemas.py file
- Moved SkillRead related classes to schemas.py - Updated import statements
A circular dependency between the `monster` and `skill` models was causing `PydanticUndefinedAnnotation` and `NoInspectionAvailable` errors during application startup and testing. This occurred because the `MonsterSkillLink` association model was defined in `monster.py` but was needed at runtime by `skill.py`, creating an import deadlock. This commit resolves the issue by moving `MonsterSkillLink` to its own dedicated file, `src/app/models/dqm1/associations.py`. This breaks the import cycle, as both `monster` and `skill` models can now safely import the association table from a neutral location.
- Due to changes to model files, import statements using those models were changed to reflect it
Fix circular model dependencies and improve schema organization
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Separated out my model classes into individual classes