1

以下のdjango docsの例を使用すると、同様のモデル設定がある場合、次のようになりますアルバムを追加するにはどうすればこれを実現できますか?アルバムは人や状況によって意味が異なります

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
4

2 に答える 2

0

オブジェクトを他のオブジェクトに関連付ける1つの方法は、一般的な関係を使用することです。

これを実現する方法の例については、https://docs.djangoproject.com/en/1.4/ref/contrib/contenttypes/#generic-relationsを参照してください。

ジェネリックスは、必要でない限り、具体的な継承を回避できるので便利です。

于 2013-01-01T13:05:31.567 に答える
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)    
于 2013-01-01T13:05:31.953 に答える