2017-01-12 17 views
0

は私がモデル djangoで外部キーを使用してフィルターにincontainsを使用するにはどうすればいいですか?

SiswaID = models.AutoField(primary_key=True) 
WaliKelasID = models.CharField(max_length=11, blank=True, null=True) 
SiswaKelas = models.ForeignKey(biayapendidikan, null=True, blank=True) 

class biayapendidikan(models.Model): 
    BiayaID=models.AutoField(primary_key=True) 
    BiayaSpp=models.IntegerField(null=True, blank=True) 
    BiayaDpps=models.IntegerField(null=True,blank=True) 
    Kelas=models.CharField(max_length=10, null=True, blank=True) 
    Unit=models.CharField(max_length=1, null=True, blank=True) 
    BiayaKeterangan=models.CharField(max_length=255, null=True, blank=True) 

def __str__(self): 
    return self.Kelas 

を持っていると私はそれを実行したときに

​​

は、私はこのエラー

Related Field got invalid lookup: icontains 

答えて

1

まずに取得SiswaKelas(ForeignKeyの)によって、テンプレートに私にそれをフィルタリングしたいです全部の。モデルの属性は小文字で、_はアンダースコアで区切る必要があります。

次に。外部キーに大文字と小文字を区別しない閉じ込めテストicontainsを使用する場合は、フィルタリングする属性も指定する必要があります。

最後に、ここでQオブジェクトを使用する必要はありません。あなたのケースでは

それは次のようになります。

DataPribadiSiswa.objects.filter(siswa_kelas__some_name__icontains=keyword2)) 
+0

私は 'Q' – Gusan

+0

ショー' biayapendidikan'を削除するときは、同じエラーを取得します。 –

+0

私の質問にbiayapendidikanモデルを追加しました – Gusan

関連する問題