【发布时间】:2014-08-02 00:19:37
【问题描述】:
场景:一张专辑包含多首歌曲。一首歌曲有多个艺术家,可以没有或只有一张专辑。
我使用 ForeignKey 实现了 ManyToOne 关系。以下是模型:
class Artist(models.Model):
name = models.CharField(max_length=50, verbose_name=u'Artist Name')
bio = models.TextField()
class Album(models.Model):
title = models.CharField(max_length=50, verbose_name=u'Album Name')
description = models.TextField()
class Song(models.Model):
title = models.CharField(max_length=50, verbose_name=u'Song Name')
album = models.ForeignKey(Album, null=True)
artists = models.ManyToManyField(Artist)
现在,在 Django Admin 中,在新专辑页面上,我想为该专辑选择多首歌曲。
额外问题:我还需要获取给定专辑的艺术家。有没有比从songs_set 获取所有艺术家更好的方法?
编辑:更新了歌曲 - 艺术家与多对多关系。
【问题讨论】:
-
这不是对您问题的回答,而是:为什么一首歌最多只有一张专辑?重新发布呢?最好的?混音?合辑?
-
因为,这是我能想到的最接近原始问题的类比。 :-)
标签: python django django-models django-admin