如何从PostgreSQL中获取具有特定值的行.姜戈



如何从PostgreSQL中获取具有特定值的行?我有一个包含列的表:id | accountid | dictdata | date|dictdata列中包含一组字典数据。

在我的模型中.py

class charts(models.Model):
id = models.AutoField(primary_key=True)
accoundid= models.IntegerField(default=None,blank=True)
dictdata=  models.JSONField(default=None,null=True, blank=True)
date = models.DateTimeField(auto_now=True)
class Meta:
db_table = "charts"

在我的python文件中

data = list(charts.objects.values('dictdata ')) //all dictionary data
print(data)

打印(数据(示例:

[{'dictdata': {'select': 'bar', 'title': 'some title'}},
{'dictdata': {'select': 'line', 'title': 'some title'}},
{'dictdata': {'select': 'pie', 'title': 'some title'}}]

如何获取包含特定"select"值的行?例如,我想获得所有带有"条形"的行

{'dictdata': {'select': 'bar', 'title': 'some title'}}

如果dictdata中的数据是dict而不是list,则可以进行如下筛选:

Charts.objects.filter(dictdata__select="bar")

您可以从PostgreSQL中获取具有特定值的行。

charts.objects.values('author').distinct()

最新更新