这是我的模型:
class Film(models.Model):
filmmaker = models.ForeignKey(settings.AUTH_USER_MODEL)
title = models.CharField(max_length=250)
在我看来,用户可以从下拉列表中选择一部影片,然后浏览该影片的细节。你知道吗
我的观点:
@login_required()
def home(request):
movies = Film.objects.filter(filmmaker=request.user)
# I added the following to debug. Assume there are 4 elements in the queryset
print movies[0].title, movies[3].title
print movies[1].title, movies[2].title
...
控制台输出错误:
title1 title1
title2 title3
但是当我跑的时候管理.pyshell并手动创建queryset
>>> movies = Film.objects.filter(filmmaker__email='email@email.com')
>>> print movies[0].title, movies[3].title
>>> print movies[1].title, movies[2].title
输出如预期:
title1 title4
title2 title3
这里发生了什么?我哪里出错了?我能做些什么来修复它?似乎无法理解这种奇怪的行为
如果不了解整个数据库结构和数据,我想我帮不了你多少忙。你知道吗
但有一点需要注意,第一个实例是基于请求对象进行查询,第二个实例是基于电子邮件地址进行查询。你知道吗
也许在询问之前,试着详细说明一下请求用户对象,然后查看name/email/etc是否是您所期望的。你知道吗
相关问题 更多 >
编程相关推荐