I have the following relationship between student and course:

class Student(models.Model):
    crse_id = models.CharField(max_length=18,primary_key=True)
    crse_offer_nbr = models.IntegerField(primary_key=True)
    strm = models.CharField(max_length=12,primary_key=True)
    class_section = models.CharField(max_length=12,primary_key=True)
    student = models.CharField(max_length=15)

    class Meta:
        db_table = u'class_stdnts'

class Course(models.Model):
    crse_id = models.CharField(max_length=18, primary_key=True)
    crse_offer_nbr = models.IntegerField(primary_key=True)
    strm = models.CharField(max_length=12, primary_key=True)
    class_section = models.CharField(max_length=12, primary_key=True)

   #many to many fields
    students = models.ManyToManyField(Student)

    class Meta:
        db_table = u'class_tbl'

When I do a query to get all the students such as follows:


>>> course = sims.Course.objects.filter(...)
>>> for c in course:
...     for s in c.students.all():
...         print s.student

I get the following error:

DatabaseError: (1146, "Table 'class_tbl_students' doesn't exist")

I figure doing a manytomany join will automatically join based on the
primary keys but when I also look at the query its running its doing
something like this:

Query:
SELECT `class_stdnts`.`crse_id`, `class_stdnts`.`strm`,
`class_stdnts`.`class_section`, `class_stdnts`.`student` FROM
`class_stdnts` INNER JOIN `class_tbl_students` ON
(`class_stdnts`.`crse_offer_nbr` = `class_tbl_students`.`student_id`)
WHERE `class_tbl_students`.`course_id` = 1


Any Thoughts?
Nathan.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to