获取列表相关对象

2024-04-26 10:20:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的模型(它是多对多关系):

class User(models.Model):
    name = moddels.CharField(max_length=255)

class MyModel(models.Model):
    user1 = models.ForeignKey(User, related_name='user_set')
    user2 = models.ForeignKey(User)

我想获取一些与user2字段相关的用户列表对象。我该怎么做

我不能用太多的领域


Tags: name模型model关系modelslengthmaxclass
2条回答

您可能无法在一个查询中获取整个用户对象,但可以获取相关user2的ID:

user2_ids = request.user.user_set.all().values_list('user2', flat=True).distinct()

如果您真的需要整个对象,可以再执行一步:

user2s = User.objects.filter(id__in=user2_ids)

同时给user2属性一个related_name

user2 = models.ForeignKey(User, related_name='user2s')

然后你可以用user.user2s.all()等方法找到它们

相关问题 更多 >