【发布时间】:2020-08-14 00:41:13
【问题描述】:
我的 model.py 是:
from django.core.validators import MinLengthValidator,MaxLengthValidator
class clients(models.Model):
client_identity_id = models.IntegerField(validators=[MaxLengthValidator(11),MinLengthValidator(11)], unique=True)
'
'
我的 serializers.py 是:
class UserSerializer(serializers.ModelSerializer):
#money = serializers.IntegerField(required=False)
class Meta:
model = clients
fields = ('client_identity_id','client_id','client_firstname','client_middlename','client_lastname','client_country','money','client_num')
read_only_fields = ('money','client_id')
def create(self, validated_data, **kwargs):
validated_data['client_id'] = ''.join(secrets.choice(string.ascii_uppercase + string.digits)
for i in range(8))
return clients.objects.create(**validated_data)
我的views.py是:
def post(self,request):
data=request.data
serializer = UserSerializer(data=data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
但是当我使用 client_identity_id=12345678910 发出发布请求时,它一直告诉我“'int' 类型的对象没有 len()” 请问我该如何解决?
【问题讨论】: