Django 1.9 无法将关键字 'models' 解析为字段。选项有:comm、id1、id2、id2_id
Django 1.9 Cannot resolve keyword 'models' into field. Choices are: 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'),)
我正在尝试 select comm
(来自 ModelInteractions
)但也尝试使用 name
(来自 Models
),具体 request_id
(随请求收到的 ID)。
我正在使用:
# 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)
这个returns:
Cannot resolve keyword 'models' into field. Choices are: comm, id1, id2, id2_id.
没有 for 循环一切正常,但我没有 Models
数据。
我错过了什么?
试试,
for field in genes:
condition &= Q(id2__genes__icontains=field)
models = ModelInteractions.objects.filter(condition)
Models
是 table 的名称。执行查询时,使用 field_names 作为管理器方法 filter
.
的关键字参数
有这两个模型:
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'),)
我正在尝试 select comm
(来自 ModelInteractions
)但也尝试使用 name
(来自 Models
),具体 request_id
(随请求收到的 ID)。
我正在使用:
# 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)
这个returns:
Cannot resolve keyword 'models' into field. Choices are: comm, id1, id2, id2_id.
没有 for 循环一切正常,但我没有 Models
数据。
我错过了什么?
试试,
for field in genes:
condition &= Q(id2__genes__icontains=field)
models = ModelInteractions.objects.filter(condition)
Models
是 table 的名称。执行查询时,使用 field_names 作为管理器方法 filter
.