django怎么从数据库取数据?
澳门博彩导航网址
澳门博彩导航网址
当前位置 : 澳门博彩导航网址 > 澳门博彩导航网址大全

django怎么从数据库取数据?

假如我数据库表有一个id name message 三个字段 我取到了id 那么name 和 message会不会也跟着取出来啊? 我主要想问一下 怎么取出全部数据并把这些数据赋值给一个变量?

这个问题已被关闭,原因:无法获得确切结果的问题

  1. 文档上都说了,我想翻文档的效率并不比求人低

怎么会问这种问题,这种问题直接查文档更清楚

这取决于你通过orm怎么构造sql语句
比如你的表是user,你建了一个model叫User

users = User.objects.all
就相当于select * from user

users = User.objects.all.valuesid
就相当于select id from user

在python里面一切皆对象,使用Django的ORM模型直接可以把要查询的对象取出来。
如果你数据库中表名为MyUser,里面有三个字段id name message,表里有三行数据

id name message
1  user1 message1
2  user2 message2
3  user3 message3

如果你想全部取出可以

users = MyUser.objects.all

你现在的变量user已经是包含三行数据,下面代码将依次遍历三个用户,输出相应数据。

for user in users:
    print user.id, user.name, user.message

PS:遇到问题先查谷歌或者 官方文档 ,如果解决不了再提问,对你以后的成长很有帮助的。如果是刚入门的话,可以读官方文档的Tutorials.这里有中文版

Django支持ORM模型,你对一个数据表的操作可以抽象成对一个对象的的操作。
举个例子,在models.py下定义一个表,这个表的id字段是自动生成的,这样定义一个有id,url和status字段的表

class Urlmodels.Model:
    url = models.URLFieldunique=True
    status = models.BooleanFielddefault=False

    def __str__self:
        return self.url

通过Filter和get方法可以进行查询,下面查询一个url值为u的数据,两个方法都返回一个符合查询要求的Url对象的列表。他们的区别是如果为空的话Filter返回的是空列表,而get返回的是空error。

  kw = Url.objects.geturl=u
  kw = Url.objects.filterurl=u

取出全部数据可以用all方法来操作,相当于select * from tables

kw = Url.object.all

对于获得的对象列表kw,可以进行迭代来获取每一个对象,并通过对象变量操作的方法获得每个字段的值。

for u in kw:
    url = u.url
    status = u.status
    print"%s : %s" % url, status

建议看看文档,或者先看djangobook虽然版本有点老

广告位

澳门博彩导航网址