【问题标题】:django_filters, how do I query based on associated model?django_filters,如何根据关联模型进行查询?
【发布时间】:2020-10-10 09:51:12
【问题描述】:

我的问题是这样的,
我正在使用 django-tables2,我想在我的页面上列出一些人,但这些人应该通过一些查询。这些查询会根据其他模型的信息而变化。如果查询正常,这个人就会在我的表中。

# My models
class AgeGroup(models.Model):
    age_group = models.CharField(choices=age_choices, max_length=5)

class SolvedExam(models.Model):
    age = models.ForeignKey(AgeGroup, on_delete=models.CASCADE, related_name='solved_exam_age_group')
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='solved_exam')

    
class Person(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='person')
    age = models.ForeignKey(AgeGroup, on_delete=models.CASCADE, related_name='person_age_group')
        *
        *
        *

class Exam(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='person')
    age = models.ForeignKey(AgeGroup, on_delete=models.CASCADE, related_name='exam_age_group')
        *
        *
        *

# my view
class PersonList(SingleTableMixin, FilterView):
    table_class = PersonTable
    model = Person
    queryset = Person.objects.all()
    paginate_by = 10
    template_name = 'person/person-list.html'
    filterset_class = PersonFilter

    def get_queryset(self):
        super(Ogrenciler, self).get_queryset()
        return Person.objects.filter( **some query** )
    raise Http404

如果该人的年龄组有未完成的考试,我想列出学生。
非常感谢!

【问题讨论】:

    标签: django django-tables2 django-filters


    【解决方案1】:

    关于考试的信息在哪里,哪些考试没有通过?通常我会期望 Exman_id、类名、传递的布尔值等字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 2012-01-29
      • 2016-01-08
      相关资源
      最近更新 更多