通过引用tutorial,我创建了一个自定义用户模型,这就是我序列化新用户模型的方式:
Serializers.py
from django.conf import settings
User = settings.AUTH_USER_MODEL
class UserSerializer(serializers.ModelSerializer):
post = serializers.PrimaryKeyRelatedField(many=True, queryset=Listing.objects.all())
class Meta(object):
model = User
fields = ('username', 'email','post')
Views.py
from django.conf import settings
User = settings.AUTH_USER_MODEL
class UserList(generics.ListAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
但是当我尝试使用这个序列化器时,我得到了
'str'对象没有属性'_meta'
我做错了什么?
答案 0 :(得分:13)
而不是
User = settings.AUTH_USER_MODEL
使用
from django.contrib.auth import get_user_model
User = get_user_model()
请记住,settings.AUTH_USER_MODEL
只是string
,表示您将使用的是哪种用户模型,而不是模型本身。如果您想获得模型,请使用get_user_model