【发布时间】:2015-03-05 14:49:01
【问题描述】:
这是我的models.py
class Category(models.Model):
name = models.CharField(max_length=200, default='')
slug = models.SlugField(max_length=100,default='',unique=True)
def __unicode__(self):
return self.name
class SubCategory(models.Model):
category = models.ForeignKey(Category)
name = models.CharField(max_length=200, default='')
slug = models.SlugField(max_length=100,default='',unique=True)
class TutorInfo(models.Model):
user = models.OneToOneField(User)
name = models.CharField(max_length=255, default='')
category = models.ManyToManyField(Category, related_name='categories')
about = models.TextField(default='')
class Course(models.Model):
user = models.ForeignKey(User)
category = models.ForeignKey(Category)
sub_category = models.ForeignKey(SubCategory)
course_name = models.CharField(max_length=255, default='')
现在我想过滤TutorInfo,使sub_category 匹配他们添加的Course 中的sub_category。一个Tutor 可以有多个Course。是否可以编写这样的查询?如果没有,请告诉我应该在 models.py 中做哪些更改
【问题讨论】:
-
请多解释一下您的数据模型。只有一个
sub_category元素与Course关联。 -
考虑这种情况 /search/tutor/?sub_cat=1 我希望 TutorInfo 使 id "1" 与用户添加的课程中的 SubCategory id 匹配...
-
试试
TutorInfo.objects.filter(user__course__sub_category__id__exact=1) -
超级..完成..谢谢..
-
在您的问题中提供代码通常比提供外部 url 更好。 Stack Overflow 具有良好的代码突出显示和格式设置,这使得代码随时可用,即使原始链接不再可用。我现在已经为你更新了帖子:)
标签: python sql django django-orm