Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django从元组检索用户_Django - Fatal编程技术网

Django从元组检索用户

Django从元组检索用户,django,Django,我正在使用这种友谊模式。此模型允许您在用户之间创建朋友。 我还有一个名为Profile的UserProfile模型,在上面 下面的命令显示如何查看特定用户的所有友谊请求 AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User') class Friend(models.Model): """ Model to represent Friendships """ to_user = models.

我正在使用这种友谊模式。此模型允许您在用户之间创建朋友。 我还有一个名为Profile的UserProfile模型,在上面

下面的命令显示如何查看特定用户的所有友谊请求

 AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User')

 class Friend(models.Model):
     """ Model to represent Friendships """
     to_user = models.ForeignKey(AUTH_USER_MODEL, related_name='friends')
     from_user = models.ForeignKey(AUTH_USER_MODEL, related_name='_unused_friend_relation')
     created = models.DateTimeField(default=timezone.now)

     objects = FriendshipManager()

     class Meta:
         verbose_name = _('Friend')
         verbose_name_plural = _('Friends')
         unique_together = ('from_user', 'to_user')

     def __unicode__(self):
         return "User #%d is friends with #%d" % (self.to_user_id, self.from_user_id)



 class FriendshipManager(models.Manager):

     def unread_requests(self, user):
         """ Return a list of unread friendship requests """
         key = cache_key('unread_requests', user.pk)
         unread_requests = cache.get(key)

         if unread_requests is None:
             qs = FriendshipRequest.objects.select_related(depth=1).filter(
                 to_user=user,
            viewed__isnull=True).all()
             unread_requests = list(qs)
             cache.set(key, unread_requests)

         return unread_requests

 class Person(models.Model):

     user = models.ForeignKey(User))
     name = models.CharField(max_length=30, blank=True)
     image = models.ImageField(upload_to='photos', blank=True)


     def __unicode__(self):
    return self.user.username

创建好友列表

   Person.objects.filter ( ? )
过滤使用

     >>> requests = Friend.objects.unread_requests(user=user3)
     >>> requests
     [<FriendshipRequest: User #1 friendship requested #3>, <FriendshipRequest: User
     #2 friendship requested #3>]
      >>> requests[0].to_user
   Person.objects.filter ( ? )
list_of_friend_requests = [r.to_user for r in requests]
persons = Person.objects.filter(user__in=list_of_friend_requests)