我有模特(这是多对多关系):
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
字段相关的用户列表对象。我怎么能这样做?
我不能使用ManyToMany字段。
答案 0 :(得分:0)
您可能无法在一个查询中获取整个用户对象,但您可以获取相关user2
的ID:
user2_ids = request.user.user_set.all().values_list('user2', flat=True).distinct()
如果你真的需要整个对象,你可以再做一步:
user2s = User.objects.filter(id__in=user2_ids)
答案 1 :(得分:0)
同时为user2
属性related_name
:
user2 = models.ForeignKey(User, related_name='user2s')
然后你可以使用user.user2s.all()
等等找到它们。