Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Puxando dados para o modelo de um banco de dados externo com django


Sem problemas! Eu faço isso toda hora.

Quanto ao "não edite ou atualize os dados", apenas não adicione nada ao seu aplicativo que atualize os dados. A sugestão de Salem sobre o uso de permissões no lado do MySQL também é uma boa ideia.

Para recuperar os dados, você tem duas opções:

1) Você pode criar modelos Django que correspondam às suas tabelas no banco de dados MySQL. Você pode fazer isso manualmente ou pode usar o comando "inspectdb" com manage.py para ter um bom ponto de partida. Então faça algo assim:
def myview(request):
  rows = MyModel.objects.using('mysql').all()
  return render_to_response("mytemplate.html", {"rows" : rows })

2) Você pode gerenciar as conexões e consultas manualmente dentro do seu aplicativo. Isso é perfeitamente válido dentro de uma visão:
def myview(request):
  conn = MySQLdb.connect("connection info here")
  try:
    cursor = conn.cursor()
    cursor.execute("select * from mytable")
    rows = cursor.fetchall()
  finally:
    conn.close()

  return render_to_response("mytemplate.html", {"rows" : rows})

finalmente -- o Django está perfeitamente feliz em usar o MySQL como banco de dados. Pode simplificar as coisas se o seu DBA permitir que o Django crie suas tabelas diretamente no mesmo banco de dados.