- 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