Принимая во внимание отношения в админке Django - PullRequest
1 голос
/ 15 марта 2011

Если бы у меня были отношения «один ко многим» в Django, например, пример Django на http://docs.djangoproject.com/en/dev/topics/db/models/#fields, У музыканта может быть много альбомов, уникальных для этого музыканта.

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()

Как быЯ продолжаю реализовывать следующее:

В Django есть «Музыканты» в качестве раздела для управления.Когда вы управляете музыкантами, вы можете редактировать музыканта или переходить к альбомам и управлять альбомами только для этого музыканта.Когда вы делаете новый альбом, система автоматически создает его для музыканта, на котором вы находитесь.На данный момент вам придется управлять альбомами по отдельности из огромного списка и выбирать музыканта на экране редактирования.

Ответы [ 2 ]

0 голосов
/ 15 марта 2011

Это слишком сложно для администратора django как такового, поэтому либо вы изучите настройку, которую предлагает вам документация, либо можете вообще отказаться от использования администратора django и просто написать ее как часть своего веб-приложения.

Выезд http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adminsite-objects.

0 голосов
/ 15 марта 2011

Admin inlines - это одно решение - http://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-objects - это позволит вам редактировать любые альбомы, связанные с просматриваемым музыкантом, или добавлять новый.

...