Django - сопоставлять объекты по свойствам - PullRequest
0 голосов
/ 13 марта 2020

У меня есть три модели:

class Skill(model):
    skill = CharField()

class Person(Model):
    skills = ManyToManyField(Skill)

class Job(Model):
    skills = ManyToManyField(Skill)

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

Как это обычно сделанный? Из того, что я вижу, Django не предоставляет никаких бортовых средств.

1 Ответ

0 голосов
/ 13 марта 2020

Просто сделайте это:

person = Person.objects.first()
Job.objects.filter(skills__in=person.skills.all())

Или с reverse relation между Skill до Person модель:

Job.objects.filter(skills__person__pk=1)  # where primary key of the person object is 1
...