问题描述
有没有办法在链接到关系中的字段的模型中创建“虚拟”字段?
例如我有:
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)