- CODE -
newArtist = Artist(name= "GBA",year_formed=1990)
newArtist.save()
album1 = Album(name = 'a',artist = newArtist)
album2 = Album(name = 'b',artist = newArtist)
album3 = Album(name = 'c',artist = newArtist)
album1.save()
album2.save()
album3.save()
allAlbums = Album.objects.all()
嘿,我是很新的Django的這樣已經經歷了文檔的努力,但有錯誤我爲了我的生活無法弄清楚!問題在於處理濾鏡屬性。
我的模型文件中有兩個類:Artist和Album。藝術家也是專輯的外鍵,因爲藝術家可以有許多專輯。目前,我創建了3個專輯實例,全部保存在名爲「GBA」的Artist「newArtist」下。
我所面臨的問題是
1)當嘗試使用藝術家的名字「GBA」空查詢集返回
2)然而過濾,當我切換說明符「newArtist.id」它成功填充了查詢集。 我很困惑,爲什麼藝術家的名字不起作用,是一個語法/邏輯/ Django規則錯誤?
如果有人需要查看更多代碼片段/輸出,請讓我知道。 感謝您的幫助!
請在問題中以文字形式顯示您的代碼。 –
你的代碼看起來很好,所以我想知道你是否在名稱字段上有完全匹配。 – HenryM
你可以試試'Album.objects.filter(artist__name__icontains = newArtist.name)'。它會搜索藝術家名稱包含(不區分大小寫)'newArtist.name'的專輯。 Django ORM的一部分。 – Nifled