sql >> Database teknologi >  >> RDS >> Mysql

Trækker data til skabelonen fra en ekstern database med django

Intet problem! Jeg gør det hele tiden.

For så vidt angår "Rediger eller opdater ikke dataene", skal du bare ikke tilføje noget til din app, der ville opdatere dataene. Salems forslag om at bruge tilladelser på MySQL-siden er også en god idé.

For at hente dataene har du to muligheder:

1) Du kan oprette Django-modeller, der svarer til dine tabeller i MySQL-databasen. Du kan gøre dette manuelt, eller du kan bruge kommandoen "inspectdb" med manage.py for at give dig selv et godt udgangspunkt. Så gør noget som dette:

def myview(request):
  rows = MyModel.objects.using('mysql').all()
  return render_to_response("mytemplate.html", {"rows" : rows })

2) Du kan administrere forbindelserne og forespørgslerne manuelt i din app. Dette er helt gyldigt i en visning:

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})

endelig -- Django er meget glad for at bruge MySQL som database. Det kan måske forenkle tingene, hvis din DBA vil lade Django oprette sine tabeller direkte i den samme database.



  1. JDBC-forbindelsestimeout kan ikke oprette forbindelse igen

  2. Sådan skriver du lagrede procedurer til professionelle SSRS-rapporter

  3. MySQL CASE for at opdatere flere kolonner

  4. SQLite-indstilling af ydeevne