0

こんにちは、私は英語があまり得意ではありませんが、できる限り自分自身を説明しようとします。Python と Django を使用して Web プロジェクトを作成しています。私はこの 4 つのモデルを持っています (これは、テーブルとフィールドについて私ができる最善の翻訳です):

class Humans (models.Model): 
    name = models.CharField(max_length=15)
    surname = models.CharField(max_length=15)
    doc_num = models.CharField(max_length=11)
    ...

class Records (models.Model): 
    closing_state = models.CharField(max_length=2)
    ...
    humans = models.ManyToManyField(Humans, through='Reco_Huma')

class Reco_Huma (models.Model): 
    id_record = models.ForeignKey(Records)
    id_human = models.ForeignKey(Humans)
    categorys = models.CharField(max_length=2)
    reserv_identity = models.CharField(max_length=2)
    repre_entity = models.CharField(max_length=2)


class Observations (models.Model): 
    id_record = models.ForeignKey(Records)
    text = models.CharField(max_length=80)
    category = models.CharField(max_length=2, choices=CAT)

Humans からの doc_num、Observations からのテキストが与えられたので、すべてのレコードの QuerySet を取得したいと考えています。

明確にするために、最初にこれを行います:

q1 = Reco_Huma.objects.filter(id_human.doc_num=x)
q2 = Observations.objects.filter(text=y)

両方のクエリ セットから id_record のリストが得られるので、そのリストを黙認し、その id_record で Records テーブルをフィルター処理したい

あなたが私を理解してくれることを願っています

前もって感謝します

4

1 に答える 1

1

クエリを言い換えると、特定の人間に関連付けられ、特定の観測を持つすべてのレコードが必要です。したがって、次のようになります。

result = Records.objects.filter(observations__text=y, humans__doc_num=x)

原則として、特定のタイプのオブジェクトを取得したい場合は、クエリでそこから開始すると役立ちます。

于 2012-05-04T13:11:23.513 に答える