Python 检查查询是否不存在或是否具有特定值

Python 检查查询是否不存在或是否具有特定值,python,django,django-models,django-views,Python,Django,Django Models,Django Views,例如,我们有一个示例模型,我们希望执行以下操作: ex = Example.objects.filter(Q(participant__tries=0) | Q(participant__tries=*THERE IS NO EXAMPLE RECORD*), courses=course) 我的意思是数据库中没有记录,没有记录,并且是空的。还有一个queryset永远不会返回任何对象 我们应该在两颗星之间替换什么 附件: 我自己的模型 取决于模型/架构的设置方式。您可能需要提供其他详细信息

例如,我们有一个示例模型,我们希望执行以下操作:

ex = Example.objects.filter(Q(participant__tries=0) | Q(participant__tries=*THERE IS NO EXAMPLE RECORD*), courses=course)

我的意思是数据库中没有记录,没有记录,并且是空的。还有一个queryset永远不会返回任何对象

我们应该在两颗星之间替换什么

附件:

我自己的模型
取决于模型/架构的设置方式。您可能需要提供其他详细信息


在许多情况下,
isnull
将起作用。例如,
Q(参与者尝试\uuuu isnull=True)
。请参阅。

我的意思是数据库中没有记录,没有记录,并且为空。还有一个queryset永远不会返回任何对象。(由于生成的
内部联接的行为)对不起。也许我是误会了。你能在问题中添加相关的模型定义吗?我最近修改了它。你是指没有链接到参与者的示例吗?我相信这样的记录不会包括在queryset中
class Questions(models.Model):
    course = models.ForeignKey(Course, blank=False, db_index=True)
    question_author = models.ForeignKey(Author, blank=False)
    number = models.IntegerField(default=0, editable=False, help_text="<b>***Please Don't change it as much as possible!</b>")
    question_details = models.CharField(max_length=100, blank=False, default='')
    members = models.ManyToManyField(User, through='QuestionsParticipant')
    question_type = models.CharField(choices=question_types, max_length=1, default='1')
    own_score = models.PositiveIntegerField(default=10)
    approved = models.BooleanField(default=False)
    timestamp = models.DateTimeField(auto_now_add=True)

class QuestionsParticipant(models.Model):
    question = models.ForeignKey(Questions)
    participant = models.ForeignKey(User)
    tries = models.PositiveIntegerField(blank=False, default=0)
    flag = models.BooleanField(default=False)
    flag_reason = models.CharField(max_length=50, blank=True, default='')
    success = models.BooleanField(default=False)
    timestamp = models.DateTimeField(auto_now_add=True)
question = Questions.objects.filter(Q(questionsparticipant__tries=0) | Q(questionsparticipant__tries__isnull=True),
                                                Q(questionsparticipant__participant_id=request.user.id)
                                                | Q(questionsparticipant__participant_id__isnull=True),
                                                course=courses, approved=True).order_by("number")[0]