0
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
我正在使用這種友情模式。該模型允許您在用戶之間創建好友。 我也有一個名爲Profile的UserProfile模型。Django從元組檢索用戶
下面的命令顯示瞭如何查看特定用戶
>>> user = User.objects.get(pk=1)
>>> user1 = User.objects.get(pk=1)
>>> user2 = User.objects.get(pk=2)
>>> user3 = User.objects.get(pk=3)
>>> Friend.objects.add_friend(user1,user3)
<FriendshipRequest: User #1 friendship requested #3>
>>> Friend.objects.add_friend(user2,user3)
<FriendshipRequest: User #2 friendship requested #3>
>>> requests = Friend.objects.unread_requests(user=user3)
>>> requests
[<FriendshipRequest: User #1 friendship requested #3>, <FriendshipRequest: User
#2 friendship requested #3>]
>>> requests[0].to_user
<User: hello>
我想顯示所有與圖片,但特定用戶
我可以的友誼請求中的所有好友請求此刻不做,因爲請求是以元組形式的(下面是一個例子)。
我希望能夠檢索所有誰請求友誼特定用戶
的用戶,然後使用這些用戶找回自己的用戶用戶配置模式指的是人,所以我可以顯示在模板中自己的形象
在它最簡單的形式
我怎樣才能檢索到所有誰請求友誼(下面的例子是,我可以查看一個
>>> 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 (?)
感謝你的幫助過濾器 – JackRoster