Django无法解压缩不可编辑的';Q';对象
我试图用Q在django中进行查询。我用于此类的数据库是PostgreSQL 我的模型是:Django无法解压缩不可编辑的';Q';对象,django,Django,我试图用Q在django中进行查询。我用于此类的数据库是PostgreSQL 我的模型是: class DataSetPG(models.Model): tower_code = models.CharField(max_length=20, null=False) time_stamp = models.DateTimeField(default=datetime.now, null=True, blank=True) value = models.CharField(max_length=2
class DataSetPG(models.Model):
tower_code = models.CharField(max_length=20, null=False)
time_stamp = models.DateTimeField(default=datetime.now, null=True, blank=True)
value = models.CharField(max_length=200)
class Meta:
ordering = ('tower_code',)
def __str__(self):
return "%s" % self.tower_code
我的观点是:
DataSetPG.objects.filter(Q(tower_code="something"))
但我有一个错误:
TypeError: cannot unpack non-iterable Q object
我做错了什么?我试过了。获取而不是。过滤和许多其他类型的东西,但什么都没有。我还在mongo数据库中使用Q进行查询,效果很好。将我的评论作为答案: 在我看来,你不能把Mongo Q当作Django Q。您应该这样导入:
from mongoengine.queryset.visitor import Q as MongoQ
from django.db.models import Q as DjangoQ
这样,就不用
Q(tower\u code='something')
使用DjangoQ(tower\u code='something')
。无论您在何处使用mongoengine的Q,请使用MongoQ替换它。仅提供更多信息。使用正常的查询工作:DataSetPG.objects.filter(tower_code=“port525”)以防万一,您要为Q导入什么类?@17slim是的,这就是问题所在,im导入:mongoengine.queryset.visitor如何使用来自不同类的两个Q?来自mongoengine.queryset.visitor导入Q为MongoQ
和来自django.db.models导入Q为DjangoQ
是的,就是这样。我已经对这件事感到绝望,没有注意它的重要性。非常感谢。