小白问一个 Models 关联查询的问题

2014-06-25 11:06:52 +08:00
 zjgsamuel
class porduct_class(models.Model):
pclass = models.CharField(max_length=255,verbose_name=u'产品分类')
Pclassdesc = models.CharField(max_length=255,verbose_name=u'产品分类描述',null=True)

class porduct_info(models.Model):
pclass = models.ForeignKey(porduct_class,verbose_name=u'产品分类',default=1)
pname = models.CharField(max_length=255,verbose_name=u'产品名称')
最简单不过的2个数据表 porduct_info 通过 ForeignKey 关联 porduct_class

我有个场景需要在模板里头要显示 porduct_info 中关联的产品分类的描述内容 Pclassdesc

最笨办法是 在View 里头分别查找赋值 然后传到模板里头去

productdetail = porduct_info.objects.get(id=int(id))
porductdesc = productdetail.pclass.Pclassdesc
我想有没有一些优雅的办法来实现呢, 比如说

在不改变数据表结构的条件下 通过扩展 porduct_info Models 的属性 来实现呢?

可能我看文档不仔细,现在还没有找到好的办法,球大神们指点一二那~ 多谢了!
3201 次点击
所在节点    Django
4 条回复
wangyongbo
2014-06-25 11:11:48 +08:00
我记得 模板里面可以直接使用 {{ productdetail.pclass.Pclassdesc }}
zjgsamuel
2014-06-25 11:19:11 +08:00
@wangyongbo
额 模板里头我试过 productdetail.pclass_id.Pclassdesc 直接拿数据库的字段来了 当时试不行,我以为这条路走不通了....

学习了~ 多谢哈~
guoqiao
2014-06-25 15:58:02 +08:00
在任何Django代码里,包括模板参数里,都可以直接productdetail.pclass.Pclassdesc来获取.
BTW: 你的命名风格简直无法直视...
zjgsamuel
2014-06-25 16:02:30 +08:00
@guoqiao 嘿 我也发现了 这个是新手在学习那 有大一半的代码都是直接copy人家滴 So 你懂得...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/119418

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX