sql >> Database >  >> RDS >> Mysql

Gegevens naar de sjabloon halen uit een externe database met django

Geen probleem! Ik doe dit de hele tijd.

Wat betreft "de gegevens niet bewerken of bijwerken", voeg gewoon niets toe aan uw app dat de gegevens zou bijwerken. De suggestie van Salem over het gebruik van machtigingen aan de MySQL-kant is ook een goed idee.

Voor het ophalen van de gegevens heeft u twee opties:

1) U kunt Django-modellen maken die overeenkomen met uw tabellen in de MySQL-database. U kunt dit handmatig doen, of u kunt de opdracht "inspectdb" met manage.py gebruiken om uzelf een goed startpunt te geven. Doe dan zoiets als dit:

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

2) U kunt de verbindingen en query's handmatig beheren binnen uw app. Dit is perfect geldig binnen een weergave:

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

eindelijk -- Django is heel blij om MySQL als database te gebruiken. Het zou dingen kunnen vereenvoudigen als uw DBA Django zijn tabellen in dezelfde database laat maken.



  1. Problemen met RODBC sqlSave

  2. Gebruik SCOPE_IDENTITY() om de laatst ingevoerde identiteitswaarde in hetzelfde bereik te retourneren (SQL-server)

  3. PHP - Filteren op MySQL-veldwaarde

  4. Verbeter de prestaties van SQL Server-query's op grote tabellen