分配给用户时 Django Auth Token ValueError

Django Auth Token ValueError When Assigning to User

我目前正在遵循 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)

你的导入是什么样的? django.auth.models.user旁边还有另一个class用户吗?

尝试从 django.contrib.auth.models.User 继承您的用户 class:

models.py:

from django.contrib import auth

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