13
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

将对象存储在 Session 而不是它们的 id 是一种好习惯吗?
例如,它是否足够“可腌制”以在模板中使用?

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

2 回答 2

23

这似乎是个坏主意。除此之外,如果您在会话中存储一个对象,那么如果/当数据库版本发生变化时,它不会改变。

于 2012-05-10T11:03:04.440 回答
4

有例外:

if your object doesnt exist in db yet

例如,如果您通过许多步骤/视图构建它(对象)。

于 2014-09-22T13:13:01.287 回答