我目前正在关注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)
答案 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