Django ORM多表数据获取

时间:2018-04-16 06:54:27

标签: python django django-orm

我也是python和Django的新手。我试图使用Django ORM从数据库中获取数据,但我无法做到这一点。我的数据库有三个表:USER,INVESTMENT_NAME和WALLET。 user表中的列是id(主键)和name,investment_name表中的列是id(主键)和name,wallet表具有user_id(用户表中的外键引用id),inv_id(foreign_name中的外键引用id)表),日期,数量,金额和当前价格。 我无法使用DJANGO ORM获取显示用户名,投资名称,日期,数量,金额,当前价格的数据,因为我不知道如何处理多个表格。

请提出任何建议。?

2 个答案:

答案 0 :(得分:0)

在电子钱包表上执行Django ORM查询。由于此表中的其他表都有外键引用,因此您可以使用getter访问实体。例如 -

w = Wallet.objects.all()
w[0].user.name  # This is the username
w[0].investment.name  # This is the investment name
w[0].date  # This is the wallet date

使用Django官方文档更多地了解orm查询以及如何优化它。

答案 1 :(得分:0)

您应该使用doulble下划线来获取表的ForeignKey(一对多)关系字段和related_name(默认情况下为 field_name _set)以访问Many-To-One(ForeignKey)引用表)对象。有文档:Lookups that span relationships

对于使用select_relatedprefetch_related的性能也很有用。

相关问题