Soh pra ver se eu entendir, aii nesse caso entao eu teria uma Turma, essa turma teria uma lista de alunos e uma lista de disciplinas pra esses alunos ?
from app.aluno import Aluno
from app.aula import Aula
class Turma:
alunos: [Aluno]
disciplinas: [Aula]
Isso ? Pensando nesse caso, eu acredito q mataria o problema da importacao circular. Manteria o comportamento esperado do sistema.
Mas minha duvida nesse caso(falo como leigo msm, n to e nem tenho muita propriedade pra dizer q esta errado), mas ter uma classe Turma q faz o intermedio entre aluno e aula n seria o mesmo q ter uma tabela Aluno x Aula, digo em algum lugar eu li q nao eh mais usual desenvolver sistemas q espelhem a arquitetura de um banco de dados, ateh pq a forma de arquitetar um banco SQL seria diferente de um noSQL. Sendo assim, eu to tentando entender uma forma q fuja da arquitetura do banco de dados em si.
Na vdd no fundo eu me pergunto se tem uma forma de fazer o desenvolvimento de forma concisa que n precise de uma classe Turma para unir aluno e aula.
Agradeco muito pela tua resposta, nesse primeiro momento eu vou desenvolver com a ideia q tu me passou, e como eh um caso apenas de estudo, eu vou alterando a medida q adquiro mais conhecimento. Vlw guri =]
Você ter uma classe (ou conceito) de turma nao é espelhar o banco de dados, mas sim o dominio do negócio da aplicação. Quando puder dá uma olhada em Domain Driven Design e linguagem ubiqua. Pode te ajudar a tomar decisões de arquitetura.