如何在Django ORM中只查找具有相关对象的对象?

时间:2018-03-22 12:04:36

标签: python django django-models django-orm

我正在试图找出只获得至少有一个答案的问题的最佳方法。 (我不需要知道多少。)

我有以下型号。

class ChallengeQuestionAnswer(models.Model):
    """Basic forum thread of questions and answers"""
    challenge = models.ForeignKey(Challenge, on_delete=models.CASCADE)
    original_question = models.ForeignKey('self', blank=True, null=True, related_name='answers')
    creator = models.ForeignKey(settings.AUTH_USER_MODEL)
    creation_date = models.DateTimeField(auto_now_add=True)
    text_data = models.TextField(blank=False)

    def __str__(self):
        return self.text_data

我可以使用此查询轻松获取所有父问题的当前列表:

questions = (
        PublicChallengeQuestionAnswer.objects
        .filter(challenge=challenge, original_question__isnull=True, answers__isnull=True, marked_hidden=False)
        .order_by('-creation_date')
        .all()
    )

是否有一种简单的方法可以修改此查询,方法是在其中添加一个过滤器,删除所有无法解答的问题?

0 个答案:

没有答案