通过链接关系的Django模型字段

问题描述

有没有办法在链接到关系中的字段的模型中创建“虚拟”字段?

例如我有

class User(models.Model):
   organization = models.ForeignKey(
        "Organization",...
    )

组织模型有一个字段 name

所以我想在 User 模型(例如 organization_name)中添加一个虚拟字段,以便能够执行 user.organization_name 而不是 user.organization.name

有可能吗?

解决方法

您可以annotate 该值。例如:

from django.db.models import F

for u in User.objects.annotate(name=F('organization__name')):
    print(u.name)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...