Pergunta

Say por exemplo, eu tenho um aplicativo Blog que eu quero ser capaz de cair em diferentes projetos, mas eu sempre quero o Blog para ser associado com algum outro modelo. Por exemplo, em um caso que pode querer que ele seja associado a um usuário:

site.com/someuser/blog

Mas em outro site que eu quero que ele seja associado com, digamos, uma escola:

site.com/someschool/blog

Existe uma maneira de fazer o aplicativo Blog tão pluggable que não é necessário redefinir o modelo (adicionando um campo de chave estrangeira) sempre que eu soltá-lo em um projeto?

Foi útil?

Solução

Você pode querer olhar para o quadro ContentTypes, eu usei-o para criar um comentário aplicativo que pode ser utilizado para comentar qualquer modelo no banco de dados (por razões diferentes, eu não queria usar o comentário django aplicativo padrão) .

http://docs.djangoproject.com/en/dev/ ref / contrib / contenttypes /

Outras dicas

Há vários detalhes importantes para certificar-se de um aplicativo pode ser reutilizável e eu acho que é melhor para ligação a dois dos conjuntos mais importantes da documentação sobre o tema:

relacionamentos genéricos permitem que você tenha uma chave estrangeira para qualquer outro modelo. No entanto, não é claro da sua pergunta que tipo de objeto que você deseja uma chave estrangeira para link para. Eu suspeito que o relacionamento de chave estrangeira não é realmente genérico - você apenas não ter visto outra parte do seu sistema que também poderia ser um aplicativo reutilizável

.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top