我正在与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",我仍然会获得带有时间戳的对象编号。
答案 0 :(得分:1)
如果你想要用户属性,你应该查询,而不是友谊。
User.objects.filter(friendship_sender__receiver=to_user, friendship_sender__status='0')