Как я могу показать значение ManyToManyField, отфильтрованное на основе ForeignKey при редактировании объекта модели django? - PullRequest
1 голос
/ 02 марта 2011

У меня есть четыре модели в моем models.py, которые:

models.py

class Course(models.Model):
    course_code = models.CharField(max_length=100,unique=True)
    title = models.CharField(max_length=200)
    short = models.CharField(max_length=50)
    elective_group = models.CharField(max_length=100)

class Unit(models.Model):
    title = models.CharField(max_length=100)
    short = models.CharField(max_length=50)
    course = models.ForeignKey(Course)

class Pattern(models.Model):
    pattern_name = models.CharField(max_length=200)

class ExamSchedule(models.Model):
    exam_date = models.DateTimeField()
    course = models.ForeignKey(Course)
    pattern = models.ForeignKey(Pattern)
    **units = models.ManyToManyField(Units)**

У меня есть все эти модели, зарегистрированные на сайте администратора, чтобы я мог использовать функции администратора для этих моделей.

Моя проблема в том, что когда пользователь создает или редактирует объект ExamSchedule, я хочу, чтобы многозначный виджет единиц (полей) должен содержать только те значения, которые связаны с курсом, поскольку каждый курс может иметь несколько единиц. Поэтому, если пользователь создает объект Examschedule и после выбора курса из раскрывающегося списка виджет единиц измерения должен содержать только те единицы измерения, которые связаны с выбранным курсом.

Спасибо

1 Ответ

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

Я использовал этот плагин django, чтобы сделать именно это в разделах администратора.Я полагаю, что это также работает в переднем конце:

https://github.com/digi604/django-smart-selects

...