Сложный сетевой администратор Inline
У меня есть сложная модель, в которой плейлисты могут быть созданы на двух уровнях: UserGroup
и User
.
Далее, эти плейлисты нацелены на определенный будний день.
Таким образом, Users
/UserGroups
могут иметь отдельные плейлисты для каждого дня недели.
Чтобы управлять пользовательскими плейлистами в админке, я хочу добавить User
и UserGroup
строку всех дней недели, а под каждым днем недели строку всех песен (для этого дня недели). Надеюсь, приведенное ниже изображение немного прояснит ситуацию.
Чтобы добавить путаницы, песни для определенного дня недели должны включать как User
песни, так и UserGroup
песни.
Мои модели:
UserGroup
name = models.CharField(max_length=255)
User
name = models.CharField(max_length=255)
UserGroupSong
file = models.FileField()
weekday = models.ForeignKey(Weekday, on_delete=models.PROTECT)
user_group = models.ForeignKey(UserGroup, on_delete=models.PROTECT)
UserSong
file = models.FileField()
weekday = models.ForeignKey(Weekday, on_delete=models.PROTECT)
user = models.ForeignKey(User, on_delete=models.PROTECT)
inherit = models.BooleanField(verbose_name='Include songs from user-group for this weekday?')
class Weekday(models.Model):
day = models.CharField(max_length=255)
# Pre-populated with values: Sun, Mon, Tue, Wed, Thu, Fri, Sat
Любая помощь будет высоко оценена.