[DUVIDA] - Arquitetura e Designe - Case: Aluno_Aula
Estou criando um projeto simples de estudo em python utilizando FastAPI e me deparei com um problema.
O projeto consiste em um cadastro de alunos, classes(aulas) e professores.
Imaginando uma tela de um sistema, o usuario pode listar os alunos, ao clicar no aluno, ele lista as aulas, ao clicar na aula ele lista os alunos matriculados na aula.
O mesmo para o professor, ao clicar na aula, ele deve mostrar tbm o professor, e ao clicar no professor ele deve mostrar quais aulas aquele professor ministra.
A forma mais simples que me veio pra fazer me causa um erro de importacao circular.
# aluno.py
from app.aula import Aula
class Aluno:
nome: str
idade: int
periodo: int
aulas: [Aula]
# aula.py
from app.aluno import Aluno
from app.professor import Professor
class Aula:
disciplina: str
professor: Professor
alunos: [Aluno]
Entao possuimos 2 modulos e nesse exemplo ja da pra entender que teremos um erro de importacao circular.
Pensei na possibilidade de criar uma outra classe para ter os dados tanto de aluno quanto de aula, assim como seria feito numa tabela N:N, mas por algum motivo essa solucao me incomoda um pouco pq algo me diz q n seria a melhor solucao.
# Solucao inviavel
# aluno_aula.py
from app.aluno import Aluno
from app.aula import Aula
class AlunoAula:
alunos: [Aluno]
aulas: [Aula]
Alguem poderia me ajudar com essa solucao ? ou filosofar comigo sobre o caso ?
Agradeco desde ja.