2013-01-01 88 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

相關問題