Как отфильтровать объекты в django на основе поля json, где ключом является список, и на основе количества элементов списка, сгруппированных для каждого объекта?

У меня есть объект под названием Canditade.

class Candidate(models.Model):
    name = models.CharField(max_length=64)
    skills = models.JSONField()

Я создал такие объекты

Candidate.objects.create(name='mark',skills={'list':{'name':'python'},
                            {'name':'java'},
                            {'name':'sql'},
                                                    {'name':'django'}
})


Candidate.objects.create(name='jeremy',skills={'list':{'name':'python'},
                            {'name':'java'},
                            {'name':'sql'},
                                                    {'name':'django'}
})


Candidate.objects.create(name='jeremy',skills={'list':{'name':'python'},
                            {'name':'java'},
                                    {'name':'sql'},
                                                    {'name':'flask'}
})

Я хочу отфильтровать кандидатов там, где они основаны на требуемых навыках, а не на тех, которые присутствуют для совпадения на 75% или на 50%. примечание: процент может быть динамическим. Как я должен запрашивать и фильтровать объекты. если я ввожу такие навыки, как "python", "java", "sql", "docker". и упомяните 75% совпадения.

Я также хочу знать, какова будет производительность, если мне придется пересечь хотя бы миллион записей.

0 ответов

Другие вопросы по тегам