0

問題に特定の問題タイプの問題が少なくとも 1 つ含まれている ProblemSet のすべての uuid を選択するクエリを作成しようとしています。Djangoでどうすればできますか? mysql では単純な結合になりますが、django の '__contains' はニーズを満たしていません..

ありがとう!!

class ProblemType:
  name ..... (many fields)

class Problem:
  problem_type = models.ManyToManyField(ProblemType)
  ...... (many fields)

class ProblemSet:
  problems = models.ManyToMnayField(Problem)
  uuid = models.CharField(...)
  ...... (many fields)
4

1 に答える 1

2

ノーマルfilterは効かないの?

uuids = ProblemSet.objects.filter(problems__problem_type__name='MyProblemType')
    .values_list('uuid', flat=True)

また、問題には複数problem_typeの がありますか? その場合は、その事実を反映して、名前をManyToManyFieldasに変更する必要がありますproblem_types(複数形に注意してください)。それ以外の場合は、を使用しないでくださいManyToManyField

于 2013-06-11T23:07:01.150 に答える