我有一个多对多字段的模型。此字段指向另一个表的pk。我想拉出将在数据存储模型的“类型”字段上过滤的记录。以下是模型。
class VM(models.Model):
name = models.CharField(max_length=100,null=True,blank=True)
power_state = models.CharField(max_length=100,null=True,blank=True)
memory_size = models.BigIntegerField(null=True,blank=True)
d_store = models.ManyToManyField(Datastore, null=True,blank=True)
class Datastore(models.Model):
datacenter = models.ForeignKey(Datacenter,null=True,blank=False)
name = models.CharField(max_length=100, blank = False)
type = models.CharField(max_length=50)
我试图查询它:
obj_list = VM.objects.filter(d_store__datastore_id__type='rbd')
但是我收到错误,它无法解析字段'datastore_id'。关于如何改进我的查询的任何想法。
答案 0 :(得分:2)
正确的变体是:
obj_list = VM.objects.filter(d_store__type='rbd')
答案 1 :(得分:-1)
尝试:
obj_list = VM.objects.filter(d_store__type='rbd')