如何在编辑django模型对象时显示基于ForeignKey过滤的ManyToManyField值?

时间:2011-03-02 18:09:26

标签: django django-models django-admin

我的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 :(得分:0)

我已使用此django插件在管理部分执行此操作。我相信它也适用于前端:

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