1 回答

TA贡献1827条经验 获得超4个赞
Django允许您进行跨关系的查询。
在您的情况下,从downloads到的外键songs意味着您通常可以按照从歌曲到下载的反向关系进行查询:
from datetime import datetime
# fetch all songs with a download with a date on or after 2013-05-01.
songs = song.objects.filter(downloads__date__gte=datetime(2013,5,1))
但是,在这种情况下您不能这样做,因为downloads与您的songs.downloads字段发生冲突。
您有两种选择。首先,您可以related_name根据错误消息的建议设置外键。
class downloads(models.Model):
song = models.ForeignKey(songs, related_name="related_downloads")
或者,您可以重命名您的song.downloads字段。
class songs(models.Model):
...
num_downloads = models.IntegerField(max_length = 11)
顺便说一句,我建议你重命名你的模型Singer,Song和Download(大写,单数而不是复数),遵循Django的约定。
添加回答
举报