Django просматривает выбор моделей - PullRequest
0 голосов
/ 12 ноября 2019

Это базовый код, который я использую:

https://github.com/justdjango/video-membership/tree/master/courses

3 основных файла:

  1. models.py
  2. просмотров.py
  3. templates / course_list.html

Но я добавил некоторые дополнительные функции в models.py, чтобы включить skill_level и тему с выбором модели:

class Subject(models.Model):
    SUBJECT_CHOICES = (
        ('tech', 'Technical'),
        ('bus', 'Business'),
        ('lead', 'Leadership'),
    )
    name = models.CharField(max_length=20,choices=SUBJECT_CHOICES, unique=True)

    def __str__(self):
        return self.name

class Skill_level(models.Model):
    SKILL_LEVEL_CHOICES = (
        ('Begin', 'Beginner'),
        ('Interm', 'Intermediate'),
        ('Adv', 'Advanced'),
    )
    name = models.CharField(max_length=20,choices=SKILL_LEVEL_CHOICES, unique=True)

    def __str__(self):
        return self.name

class Course(models.Model):
    slug = models.SlugField()
    title = models.CharField(max_length=120)
    description = models.TextField()
    allowed_memberships = models.ManyToManyField(Membership)
    created_at = models.DateTimeField(auto_now_add=True)
    subjects = models.ManyToManyField(Subject)
    skill_level = models.ManyToManyField(Skill_level)
    visited_times = models.IntegerField(default=0)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('courses:detail', kwargs={'slug': self.slug})

    @property
    def lessons(self):
        return self.lesson_set.all().order_by('position')

В конечном итоге я хочу просмотреть циклы предметов и skill_levels, чтобы результаты цикла можно было использовать в раскрывающемся меню, чтобы пользователи могли искать / фильтровать курсы определенного предмета или курсы определенного уровня квалификации. Но сейчас я хочу получить выпадающую форму с вариантами выбора.

Пример результата:

https://imgur.com/a/YKhORP9

Буду признателен, если кто-нибудь предоставит какой-нибудь код, который мог бы выполнить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...