2012-05-04 6 views
0

こんにちは、英語はあまりよくありませんが、私は自分自身について説明するつもりです。私はPythonとDjangoを使ってWebプロジェクトを作成しています。今、人間からdoc_num与え、観測からのテキストは、私はすべてのレコードのクエリセットを取得したい別のクエリセットを使用してクエリセットをフィルタリングする

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) 

: 私はこの4つのモデルを(これは私は、テーブルとフィールドのできる最善の翻訳です)持っています。

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

両方のクエリセットは私にid_recordのリストを与え、その後、私はリストとすると、そのid_recordの

でレコードテーブルをフィルタリングすることを黙認したい、私は願っています:私が最初にこれを行う明確にする

あなたは、特定の人間とその関連付けられたすべてのレコードをしたい、あなたの問合せを修正するには、私に事前

+0

あなたの質問から何を達成したいと思いますか? – zsquare

答えて

1

感謝を理解することができますある観測をする。だから、それは次のようになります。一般的なルールとして

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

を、あなたがオブジェクトの特定のタイプで終わるしたい場合、それはあなたのクエリで、そこから起動することができます。

関連する問題