在 django 中访问模型数据

Posted

技术标签:

【中文标题】在 django 中访问模型数据【英文标题】:Accessing model data in django 【发布时间】:2022-01-15 04:35:51 【问题描述】:

我有一个 Django 模型:

class Myvalues(models.Model):
        items_list = models.JSONField()

我已经在 Django admin 中填充了这个模型。我现在想访问这个模型中的数据。但是我收到一条错误消息:'Manager' object has no attribute ‘items_list' 我尝试访问它的方式如下:

Print(Myvalues.objects.items_list.values())

我不明白为什么会出现这种情况,因为班级中有那个模型。 出于兴趣,我打印了Myvalues 类的all() 结果,如下所示:

print(Myvalues.objects.all())

这导致了以下结果:

<QuerySet [<Myvalues: Myvalues object (1)>]>

如何访问 items_list 模型中的数据?

【问题讨论】:

【参考方案1】:

请改用以下语法 (documentation)。

Myvalues.objects.values_list('items_list', flat=True)

如果要返回元组,请省略 flat=True

【讨论】:

好东西,谢谢【参考方案2】:
Myvalues.objects

返回 django.db.models.manager.Manager 对象,而不是 Myvalues: Myvalues object

为了请求items_list使用

Myvalues.objects.all()[i].item_list

它返回所有Myvalue 对象并选择一个带有索引的对象。您可以从此对象获取模型属性。

【讨论】:

以上是关于在 django 中访问模型数据的主要内容,如果未能解决你的问题,请参考以下文章

在 django admin 中使用外键访问另一个模型字段

访问django formset数据

12. Django 2.1.7 模型 - 使用mysql数据库连接访问

django专题—数据模型数据库访问数据传递

如何避免 Django 中的导入时数据库访问?

django 在模型自定义保存中访问上传的文件,最佳实践?