2012-05-10 15 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 

Nesneleri, kimlikleri yerine Oturumu depolamak iyi bir uygulamadır mı?
Örneğin şablonlarda kullanılmak üzere "seçilebilir" olacak mı?Django - Oturumda nesneleri kaydetme

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

daha iyi. Tüm oturum verilerini olabildiğince hafif tutmak istersiniz. – cobie

+0

Ben de öyle düşünüyordum. Yani cevap “hayır, iyi bir uygulama değil” olmalı, değil mi? –

cevap

21

Bu kötü bir fikir gibi görünüyor. Başka bir şey dışında, oturumda bir nesne saklarsanız, veritabanı sürümünde/olduğunda değişiklik olmaz.

if your object doesnt exist in db yet 

örneğin birçok adım/görünümler aracılığıyla (nesne) inşa halinde:

4

istisna vardır. Bir kimliği oturumda saklamak için