需要有关实现Django模型功能的建议

时间:2018-02-26 16:37:54

标签: python django

我需要一些建议。在我的模特中,我有老师,学生和课程。每位老师都有自己的课程。我想知道如何让学生作为老师可视化我的课程。 在教师教室(教师控制面板)中,我列出了他的课程,并且在每个课程附近我都注册了学生按钮。因此,当点击它时,它将重定向到课程的slug页面,在那里他将能够搜索他的学生(如课堂/工程/注册)。这就是我到目前为止所做的。现在我想到了每个学生姓名附近的某种布尔值复选框,当所有想要的学生都被选中时,他下面会有一个注册按钮,这将允许那些学生可视化该课程页面。  我的问题是,我该如何实现这个注册呢?什么是好方法?请指教。

1 个答案:

答案 0 :(得分:1)

首先,通过一些调查工作,您正在寻找的并不困难。关于ManyToManyField的地方有很多信息,正如@little_birdie所说。要了解这一点:https://docs.djangoproject.com/en/2.0/topics/db/examples/many_to_many/

顺便说一下,你想要的是将课程与老师和所有学生联系起来:

class Teacher(Model):
    name = CharField(max_length=50)
    # etc

class Student(Model):
    name = CharField(max_length=50)
    age = IntegerField()
    # etc

class Course(Model):
    subject = CharField(max_length=30)
    teacher = ForeignKey(Teacher)
    students = ManyToManyField(Student)
    open = BooleanField(default=False)

ManyToManyField的作用。它创建了一个与课程和学生相关的中间表。如果我是你,我会使用模型课程模型来使用界面:

class CourseForm(ModelForm):
    class Meta:
        model = Course
        fields = "__all__"

每当教师需要将学生注册到特定课程时,他都会访问表单页面。他会将所有想要的学生分配到课程中,然后打开课程,以便学生可以看到课程。在此之后,您需要做的就是保存发布的表单。当然,要为学生和老师使用适当的界面。