sql >> Databáze >  >> RDS >> Mysql

Stahování dat do šablony z externí databáze pomocí django

Žádný problém! Dělám to pořád.

Pokud jde o „data neupravujte ani neaktualizujte“, prostě do aplikace nepřidávejte nic, co by aktualizovalo data. Salemův návrh na používání oprávnění na straně MySQL je také dobrý nápad.

Pro načtení dat máte dvě možnosti:

1) Můžete vytvořit modely Django, které odpovídají vašim tabulkám v databázi MySQL. Můžete to udělat ručně, nebo můžete použít příkaz "inspectdb" s manage.py, abyste získali dobrý výchozí bod. Pak udělejte něco takového:

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

2) Připojení a dotazy můžete ve své aplikaci spravovat ručně. To je dokonale platné v rámci pohledu:

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

konečně -- Django je naprosto šťastný, že používá MySQL jako databázi. Mohlo by to zjednodušit, pokud váš DBA nechá Django vytvářet své tabulky přímo ve stejné databázi.



  1. Seskupování podobných řádků vedle sebe v MySQL

  2. Hromadné vložení nebo aktualizace pomocí Hibernate?

  3. přidání 1 dne k hodnotě formátu DATETIME

  4. Při použití ini_set('max_execution_time', 0);