Eu tenho trabalhado um tempo em um projeto Django que vem crescendo um pouco ultimamente. Estive pensando um pouco sobre qual estratégia usar para facilitar o manuseio. Uma coisa que eu gostaria de obter seria se eu dividisse meu aplicativo em vários aplicativos menores. Isso tornaria meus arquivos de visualização e modelo menores e separaria algumas das preocupações.
Uma coisa que me incomoda é que, em meus aplicativos, eu teria vários métodos auxiliares que serão usados em todos os aplicativos. Além disso, alguns modelos também precisarão ser compartilhados / usados entre aplicativos. Isso faria sentido? Isso não vai bem com a separação de preocupações que eu esperava alcançar dividindo meu aplicativo em vários aplicativos menores. Qual seria uma boa abordagem para compartilhar métodos auxiliares, modelos etc. entre aplicativos?
fonte
Eu gosto de criar um
base/
aplicativo sem visualizações e sem momentos para coisas compartilhadas.Um problema que pode ocorrer quando você tem modelos espalhados por vários aplicativos é a importação circular. Isso pode ser evitado usando cadeias de caracteres para se referir a outros modelos (em
foo = ForeignKey("someapp.Foo")
vez defoo = ForeignKey(someapp.models.Foo)
). O Django permite que você use strings como este em mais lugares.fonte