sql >> Databasteknik >  >> RDS >> Mysql

Hämta data till mallen från en extern databas med django

Inga problem! Jag gör det här hela tiden.

När det gäller "redigera eller uppdatera inte data", lägg bara inte till något i din app som skulle uppdatera data. Salems förslag om att använda behörigheter på MySQL-sidan är också en bra idé.

För att hämta data har du två alternativ:

1) Du kan skapa Django-modeller som motsvarar dina tabeller i MySQL-databasen. Du kan göra detta manuellt, eller så kan du använda kommandot "inspectdb" med manage.py för att ge dig själv en bra utgångspunkt. Gör sedan något så här:

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

2) Du kan hantera anslutningarna och frågorna manuellt i din app. Detta är helt giltigt i en vy:

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

slutligen -- Django är mycket nöjd med att använda MySQL som en databas. Det kan förenkla saker och ting om din DBA låter Django skapa sina tabeller direkt i samma databas.



  1. Skript för att skapa Mysql-användare

  2. Fråga för att hitta tabeller som ändrats under den senaste timmen

  3. Räkna versaler i String

  4. visar data från sql från att klicka på svg-karta