如何在 DRF 中使用 rest-auth 将用户名标记为名称而不是数字
How to mark Username with rest-auth in the DRF as a name instead of a number
我打算用Django接收Arduino的值,序列化成RESTAPI。首先,通过rest-auth建立会员管理功能,通过创建aduinos模型,将'name'变量指定为外键,为每个用户存储传感器值。 运行 服务器登录后,我查看了包含每个用户数据的API,名称旁边有一个数字,而不是用户的用户名。我想知道如何将其更改为用户名而不是数字。这是我的代码
models.py
class arduino (models.Model) :
name = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
temp = models.FloatField()
humi = models.FloatField()
serializers.py
class arduinoSerializers (serializers.ModelSerializer) :
class Meta :
model = arduino
fields = ('name', 'temp', 'humi')
views.py
class arduinoViewSet (viewsets.ViewSet) :
def dataSend (self, request) :
queryset = arduino.objects.all()
serializer = arduinoSerializers(queryset, many=True)
return Response(serializer.data)
请帮帮我:(
看看序列化器字段参数source
class arduinoSerializers (serializers.ModelSerializer):
<b>name = serializers.CharField(source='name.username')</b>
class Meta :
model = arduino
fields = ('name', 'temp', 'humi')
我打算用Django接收Arduino的值,序列化成RESTAPI。首先,通过rest-auth建立会员管理功能,通过创建aduinos模型,将'name'变量指定为外键,为每个用户存储传感器值。 运行 服务器登录后,我查看了包含每个用户数据的API,名称旁边有一个数字,而不是用户的用户名。我想知道如何将其更改为用户名而不是数字。这是我的代码
models.py
class arduino (models.Model) :
name = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null=True)
temp = models.FloatField()
humi = models.FloatField()
serializers.py
class arduinoSerializers (serializers.ModelSerializer) :
class Meta :
model = arduino
fields = ('name', 'temp', 'humi')
views.py
class arduinoViewSet (viewsets.ViewSet) :
def dataSend (self, request) :
queryset = arduino.objects.all()
serializer = arduinoSerializers(queryset, many=True)
return Response(serializer.data)
请帮帮我:(
看看序列化器字段参数source
class arduinoSerializers (serializers.ModelSerializer):
<b>name = serializers.CharField(source='name.username')</b>
class Meta :
model = arduino
fields = ('name', 'temp', 'humi')