python循环取出某一列的值_python - django可以for循环获取数据表一行的每一列值么?...

问 题

通过.objects.get()我已经得到了我想要的那一列数据对象,现在我想通过for循环得到这行数据的每一列值,而不是"对象.列名"的方式,因为列有五十多列。

解决方案

給個範例:

myapp/models.py

from django.db import models

class MyModel(models.Model):

a = models.CharField()

b = models.CharField()

c = models.CharField()

d = models.CharField()

in Django shell:

In [3]: from myapp.models import MyModel

In [4]: m = MyModel(a='a', b='b', c='c', d='d')

In [5]: m

Out[5]:

In [6]: m._meta

Out[6]:

In [7]: m._meta.get_fields

Out[7]: >

In [8]: m._meta.get_fields()

Out[8]:

(,

,

,

,

)

In [9]: for f in m._meta.get_fields():

...: print(f.name, getattr(m, f.name))

...:

id None

a a

b b

c c

d d

主要是 _meta 裡面有 get_fields(), 可以拿到 model 裡面所有的 fields

然後透過 field.name 和 getattr(model_object, field.name) 來取得欄位名稱和值

扫一扫关注IT屋

微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值