我目前正在学习django orm并使用这种结构
class Album(models.Model):
artist = models.CharField(max_length=128, unique=True)
title = models.CharField(max_length=128, unique=True)
genre = models.CharField(max_length=128, unique=False)
def __unicode__(self):
return "Artist:"+self.artist + " Title:"+self.title
class Song(models.Model):
album = models.ForeignKey(Album) #Link to primary key in Album
title = models.CharField(max_length=128)
def __unicode__(self):
return self.title
我使用此
进入相册a =专辑(艺术家="麦当娜",标题=" SomeTitle",流派=" pop") a.save()
并保存了它。
现在我如何插入歌曲表? 我之前的条目是这样的
a = Album.objects.get(artist__iexact ="麦当娜")
我认为我能做的一种方式是
>> s = Song(a,title="SongA")
>> s.save() #Error TypeError: int() argument must be a string or a number, not 'Album'
如何保存歌曲
答案 0 :(得分:1)
您可以通过
获取已保存对象的实例 model_obj = Album.objects.get(artist ="Madona")
获取对象后,您可以创建Song对象并保存。
song_obj = Song(album=model_obj, title="SongA")
song_obj.save()
答案 1 :(得分:0)
外键需要对象的pk。使用a.id
代替a
。