0
這是我的模型:Django的查詢集奇怪的行爲:同一個對象返回的第一個和最後件
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
然而,當我運行manage.py殼和手動創建的查詢集,
>>> movies = Film.objects.filter(filmmaker__email='[email protected]')
>>> print movies[0].title, movies[3].title
>>> print movies[1].title, movies[2].title
輸出如預期:
title1 title4
title2 title3
這裏發生了什麼事?我哪裏錯了?我能做些什麼來解決它?似乎無法理解這種奇怪的行爲
誰是電影製作人[3]'? –