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-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
No comments:
Post a Comment