我来自 PHP/SQL 背景,所以 django 中的整个数据访问技术对我来说是一个挑战。到目前为止,在 djangobook 中,如果我想从数据库中获取值,它已经教会我在 models.py 中使用 unicode 函数。
def __unicode__(self):
return self.name
当然,这不是它的本意吗?首先,它只返回一列,而且如果我想从其他函数访问表以用于其他目的,“名称”列是我唯一可以返回的吗?好像我只能从表中返回一列 - 在这种情况下,我选择了“名称”。目前我正在做:
Publisher.objects.filter(name='test')
但是这里没有办法改变我想要返回的东西,它总是回到models.py中必须手动改变的静态unicode函数?当然有一种方法可以运行看起来像的 python 版本查询
"SELECT name, firstname FROM users WHERE user_id = 1"
所以基本上,我将如何在 python 中编写这个查询而不必使用愚蠢的、有限的 unicode 函数?生产网络应用程序将如何做到这一点?我完全错过了这里的概念吗?
谢谢,很抱歉这个问题解释得很糟糕。
PS在django中使用SQL会更好吗?还是这是不好的做法?