如何从 django 中的其他模型获取模型?

问题描述 投票:0回答:1

如果我有一个名为 Reaction 的模型,并且它有foreignkey,则引用另一个名为 User 的模型。

现在我知道我可以从Reaction模型到达User模型

但是我有一个来自 User 模型的超过 1000 个用户的列表,我想从 Reaction 模型中获得他们的比例。

我怎样才能做到这一点,而不需要从用户模型中获取每个user并通过Reaction模型获取它。

这些是我的模型:


class User(models.Model):
    name = models.TextField()







class Reaction(models.Model):
    from_user = models.ForeignKey(User, on_delete=models.PROTECT, default=None, related_name="reaction_from_user")
    to_user = models.ForeignKey(User, on_delete=models.PROTECT, default=None, related_name="reaction_to_user")
    date = models.DateField(null=True)
    time = models.TimeField(null=True)
    type_of_reaction = models.TextField()
    have_been_seen = models.BooleanField(default=False , null=True)

python python-3.x django django-models
1个回答
0
投票

您可以通过在 Django 中使用

reverse relationship
来完成此操作。 正如您所提到的,您已经有了一个用户列表,让我们
target_users
,然后您可以使用以下代码来获取目标用户的反应:

target_users = User.objects.filter()
reactions_for_users = Reaction.objects.filter(to_user__in=target_users)
© www.soinside.com 2019 - 2024. All rights reserved.