2012-05-10 14 views
12
class Book(models.Model): 
    author = models.ForeignKey(User) 
    name = models.CharField(max_length=100) 

def view(request): 
    book = Book.objects.get(pk=1) 
    request.session['selected_book'] = book 

Ist es eine gute Praxis, Objekte in Session statt ihrer ID zu speichern?
Wird es "pickbar" genug sein, um in Vorlagen verwendet zu werden?Django - Objekte in Sitzung speichern

<div>{{ request.session.book.author.name }}</div> 
+1

besser, um eine ID in der Sitzung zu speichern. Sie möchten alle Sitzungsdaten so gering wie möglich halten. – cobie

+0

Das habe ich mir gedacht. Die Antwort sollte lauten: "Nein, es ist keine gute Praxis", oder? –

Antwort

21

Dies scheint wie eine schlechte Idee. Wenn Sie ein Objekt in der Sitzung speichern, ändert sich nichts daran, ob/wann die Datenbankversion dies tut.

4

gibt es Ausnahme:

if your object doesnt exist in db yet 

zum Beispiel, wenn Sie es (Objekt) durch viele Schritte/Ansichten bauen.

Verwandte Themen