Django: Wie kann man Modelle aus der Datenbank aktualisieren oder neu laden

Einige meiner Tabellen in der Datenbank sind Periodizität aktualisiert durch mehrere Python-Skripte außerhalb von Django. Infolgedessen sind die Ansichten von Django nicht über die neuesten Daten in der Datenbank informiert und zeigen die alten Daten. Ich habe viele Vorschläge online versucht, aber nichts funktioniert außer namens connection.close () vor der Verwendung des Modells.

Hier sind die Ansätze, die ich ausprobiert habe.

from django.views.decorators.cache import never_cache @never_cache # <===== def GetData(request): data = Table.objects.get(id=1) # Still giving outdated data template = loader.get_template('data/data.html') context = Context({ 'lp': lp, }) return HttpResponse(template.render(context)) 

 data = Data.objects.get(id=1) data = data.objects.get(id=data.id) # data is still old 

 from django.core.cache import cache cache.clear() 

Der Ansatz, der funktioniert. :

 from django.db import connection def GetData(request): # Add this before accessing the model. # This also connection.close() prevents the # MySQL 2006, 'MySQL server has gone away' error. connection.close() data = Table.objects.get(id=1) # Giving outdated data template = loader.get_template('data/data.html') context = Context({ 'lp': lp, }) return HttpResponse(template.render(context)) 

One Solution collect form web for “Django: Wie kann man Modelle aus der Datenbank aktualisieren oder neu laden”

Füge "transaction-isolation = READ-COMMITTED" zu my.cnf hinzu. Weitere Details hier: Wie zwinge ich Django, irgendwelche Caches zu ignorieren und Daten neu zu laden?

  • In django ändern Sie den Dateinamen einer hochgeladenen Datei
  • Kann ich ein Django-Formular ohne Modell haben
  • Bearbeiten des Modells ForeignKey als Inline in der Django-Administration?
  • Verwenden Sie die Django Scheduler App mit Ihren eigenen Modellen
  • Django: Hinzufügen von Inline-Formate-Zeilen ohne Javascript
  • Wie man <span> anstelle von <li> tag produziert
  • Python ist die beste Programmiersprache der Welt.