my models.py:
class clients(models.Model):
client_id = models.IntegerField(unique=True, null=False, blank=False, primary_key=True)
'
'
my serializers.py:
class UserSerializer(serializers.ModelSerializer):
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')
my views.py:
def post(self,request):
data=request.data
serializer = UserSerializer(data=data)
if serializer.is_valid():
serializer.save()
client_A = clients.objects.get(client_identity_id=data['client_identity_id'])
def create_unique_id():
id=int(''.join(random.choices(string.digits, k=8)))
return id
create_unique_id()
unique = False
while not unique:
if not clients.objects.get(client_id=id):
unique = True
else:
create_unique_id()
client_A.client_id = id
client_A.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
, когда я сделать запрос поста он показывает мне ошибку "Поле 'client_id' ожидал числа, но получил идентификатор встроенной функции", что мне делать? Что я хочу, так это то, что когда я делаю почтовый запрос, он должен сгенерировать уникальный 8-значный идентификатор и сохранить его, и как я могу сгенерировать уникальный 8-значный идентификатор, содержащий буквы и цифры?