“已注册课程”对象没有属性“课程集”

2024-06-28 11:04:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我真的被这个错误卡住了,当我使用course_set时,为什么它不在课程外键上的Registered_Courses上反向跟踪关系,这是毫无意义的

views.py

def registered_coursesView(request, username):
    '''Page to display the registered courses of a user.'''
    registeredCourses = Registered_Courses.objects.get(owner = request.user) 
    courseInfo = registeredCourses.course_set.all()
    context = {'registeredCourses': registeredCourses, 'courseInfo':courseInfo} 
    return render(request, 'safetyCourseApp/registered_courses.html', context)

models.py

class Course(models.Model):
    '''Offered Course information.'''
    subject = models.ForeignKey(Subject, on_delete=models.CASCADE)
    name = models.CharField(max_length=200, primary_key=True)
    description = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)
    start_date = models.DateField()
    end_date = models.DateField()
    price = models.DecimalField(max_digits=10, decimal_places=2)
    capacity = models.IntegerField()
    registered_ppl = models.IntegerField() 

    def __str__(self):
        """Return a string representation of the model."""
        return self.name

class Registered_Courses(models.Model):
    """Something specific learned about a Course."""
    registered_course = models.ForeignKey(Course, on_delete=models.CASCADE, null=True)
    owner = models.ForeignKey(User, on_delete=models.CASCADE, null=True)

    def __str__(self):
        """Return a string representation of the model."""
        return f'{self.owner}'

请告诉我你们的想法。我想不出这不起作用的原因。谢谢


Tags: oftheselftruemodelsrequestdefowner
1条回答
网友
1楼 · 发布于 2024-06-28 11:04:34

正如您在模型中指定的那样,每个Registered_Courses都有一个FK到Course,因此每个{}都可以有多个Registered_Courses

但是您正在尝试从单个Registered_Courses获取多个Course对象

反向关系类似于:

>>> course = Course.objects.first()
>>> course.registered_courses_set

相关问题 更多 >