2017-08-04 4 views
1

持つこれら二つのモデル:受信した特定request_id(ID用(Modelsから)nameでもDjango 1.9キーワード 'models'をフィールドに解決できません。選択肢は以下のとおりです。COMM、ID1、ID2、id2_id

class Models(models.Model): 
    id = models.IntegerField(primary_key=True) 
    name = models.TextField() 
    genes = models.TextField(blank=True, null=True) 
    class Meta: 
     db_table = 'models' 

class ModelInteractions(models.Model): 
    id1 = models.IntegerField(primary_key=True) 
    id2 = models.ForeignKey('Models') 
    comm = models.TextField(blank=True, null=True) 
    class Meta: 
     unique_together = (('id1', 'id2'),) 

私は(ModelInteractionsから)commを選択しようとしているけど、要求と一緒に)。

Cannot resolve keyword 'models' into field. Choices are: comm, id1, id2, id2_id. 

ループすべてが正常に動作するためにしないと、私はModelsデータを持っていない:

# request_genes example = "ab-2;cra-19" 
genes = request_genes.split(';') 
condition = Q(id2=request_id) 
for field in genes: 
    condition &= Q(models__genes__icontains=field) 
models = ModelInteractions.objects.filter(condition) 

これが返されます。

私が使用しています。

私には何が欠けていますか?

答えて

1

for field in genes: 
    condition &= Q(id2__genes__icontains=field) 
models = ModelInteractions.objects.filter(condition) 

Models、試してみてくださいは、テーブルの名前です。クエリを実行するときは、managerメソッドfilterのキーワード引数としてfield_namesを使用します。

+0

はい、これは機能しました。もう1つ質問:テンプレートに 'name'(' Models'から)をどのように表示できますか? '{{model.name}}' afterループはうまくいかないようです。 – feci

+0

'{{model.id2.name}}' ..を試してください。 – zaidfazil

+0

あなたは私の答えを選択してタグ付けするといいですか? – zaidfazil

関連する問題