Как отфильтровать Django ArrayField с помощью поиска - PullRequest
0 голосов
/ 30 апреля 2020

Данные, представленные в ArrayField, как показано ниже

{
    "submit_candidate" : [
        {
            "requirement" : [
                {
                    "name_id" : 14
                }
            ],
            "candidate" : [
                {
                    "name_id" : 2,
                    "rate" : null,
                    "rate_types" : null,
                    "types" : null,
                    "availability" : null,
                    "address" : [ ],
                    "benfit" : false
                }
            ]
        }
    ],
}

Моя модель

class SubmittedCandidateInfo(models.Model):
    requirement = models.ArrayField(model_container=RequirementInfo)
    candidate = models.ArrayField(model_container=CandidataInfo)

    def __str__(self):
        return str(self.requirement[0])

class SubmittedCandidate(models.Model):
    submit_candidate = models.ArrayField(model_container=SubmittedCandidateInfo)
    def __str__(self):
        return str(self.submitted_candidate_id)

    class Meta:
        verbose_name_plural = "submitted_candidates"
        db_table = "submitted_candidate"

Я использую этот запрос ниже, чтобы получить job_id.

SubmittedCandidate.objects.filter(submit_candidate__0__requirement__0__name__job_id=14)

Но это выдает мне ошибку

django .core.exceptions.FieldError: Неподдерживаемый поиск '0' для ArrayField или вступить на поле не разрешено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...