如何归还物品' Django中的属性?

时间:2014-10-04 09:45:02

标签: python django django-models foreign-keys django-views

我正在与Django建立友谊系统,我正在使用以下模型:

class Friendship(models.Model):
  sender = models.ForeignKey(User, related_name='friendship_sender')
  receiver = models.ForeignKey(User, related_name='friendship_receiver')
  status = models.IntegerField(max_length=1)
  created_at = models.DateTimeField(auto_now=True)
  class Meta: 
    unique_together = ["sender", "receiver"]

当我尝试获取状态=" 0"的所有待处理请求时这样:

def friendship_pending(request):
  to_user = User.objects.get(fb_user_id=request.session['fb_user_id'])
  pending_requests = (Friendship.objects.filter(receiver=to_user, status='0'))
  data = serializers.serialize('xml', pending_requests, fields=('sender'))
  return HttpResponse(json.dumps(data))

我只获取对象" sender"的编号,而不是其所有属性。我想得到的是用户(在这种情况下是发件人)对象的字段,例如" name"和" fb_user_id"。如果我没有指定字段" sender",我仍然会获得带有时间戳的对象编号。

1 个答案:

答案 0 :(得分:1)

如果你想要用户属性,你应该查询,而不是友谊。

User.objects.filter(friendship_sender__receiver=to_user, friendship_sender__status='0')