2013-01-01 48 views
1

使用下面的django文档示例,如果我有一个类似的模型设置,它将看起来像这样。但看看相册应用程序它可以用于我的其他事情我的问题将是ForeignKey,如果我创建一个新的应用程序和摄影师如何添加专辑我将如何做到这一点,专辑意味着不同的事情不同的人或环境overide ForeignKey字段

class Musician(models.Model): 
    first_name = models.CharField(max_length=50) 
    last_name = models.CharField(max_length=50) 
    instrument = models.CharField(max_length=100) 

class Album(models.Model): 
    artist = models.ForeignKey(Musician) 
    name = models.CharField(max_length=100) 
    release_date = models.DateField() 
    num_stars = models.IntegerField() 

class Photographer(models.Model): 
    # some stuff here 

回答

0

可以按如下方式做到这一点使用简单的模型继承:

class Musician(models.Model): 
    first_name = models.CharField(max_length=50) 
    last_name = models.CharField(max_length=50) 
    instrument = models.CharField(max_length=100) 

class Photographer(models.Model): 
    # some stuff here  

class Album(models.Model): 
    name = models.CharField(max_length=100) 
    release_date = models.DateField() 
    num_stars = models.IntegerField() 

class PhotoAlbum(Album): 
    artist = models.ForeignKey(Photographer) 

class MusicAlbum(Album): 
    artist = models.ForeignKey(Musician)  
+0

感谢我如何接受你的答案时需要这个网站 – user1940979

相关问题