分配给用户时的Django Auth Token ValueError

时间:2015-11-12 23:42:41

标签: django django-rest-framework django-authentication

我目前正在关注Django指南并使用接收器分配身份验证令牌。但是,以下重新调整错误

Cannot assign "<User: User object>": "Token.user" must be a "User" instance.

##PRE CREATE Method
@receiver(post_save, sender=User)  
def create_auth_token(sender, instance=None, created=False, **kwargs):
    if created:
        Token.objects.create(user=instance)

class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer

即使替换@receiver也不起作用

 def perform_create(self, serializer):
    user = serializer.save()
    Token.objects.create(user=user)

1 个答案:

答案 0 :(得分:1)

你的进口是什么样的?在django.auth.models.user旁边是否有另一个类用户?

尝试从django.contrib.auth.models.User继承您的User类:

<强> models.py:

from django.contrib import auth

class User(auth.models.User):
    # place for extra fields