繁体   English   中英

'Registered_Courses' 对象没有属性 'course_set' Django

[英]'Registered_Courses' object has no attribute 'course_set' Django

我真的被这个错误困住了,当我使用 course_set 时,为什么它不遵循课程外键上的 Registered_Courses 上的关系是没有意义的

视图.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)

模型.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}'

请让我知道你们的想法。 我想不出这不起作用的原因。 谢谢!

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

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

落后的关系是这样的:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM