我有一個包含多個欄位的消費者模型,我還指定了它們的默認值;例如
age = models.CharField(default="no information", max_length=50)
我使用以下代碼段將新使用者發布到我的 MongoDB 資料庫:
if request.method == 'POST':
try:
consumer_data = JSONParser().parse(request)
consumer_serializer = ConsumerModelSerializer(data=consumer_data)
if consumer_serializer.is_valid():
consumer_serializer.save()
collection_name.insert_one(consumer_serializer.data)
response = {
'message': "Successfully uploaded a consumer with id = %d" % consumer_serializer.data.get('id'),
'consumers': [consumer_serializer.data],
'error': ""
}
return JsonResponse(response, status=status.HTTP_201_CREATED)
else:
error = {
'message': "Can not upload successfully!",
'consumers': "[]",
'error': consumer_serializer.errors
}
return JsonResponse(error, status=status.HTTP_400_BAD_REQUEST)
except:
exceptionError = {
'message': "Can not upload successfully!",
'consumers': "[]",
'error': "Having an exception!"
}
return JsonResponse(exceptionError, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
當我填寫我的 Angular 表單上的所有欄位并發布時,一切正常。但是,當我將一個欄位留空時,我會收到一條錯誤的請求錯誤訊息,并且帖子沒有通過。
最初,我認為這是因為我的 Django 模型中沒有默認欄位,但即使添加了它們,我仍然得到了這個。
如何修改代碼片段以允許我使用空白欄位發布?
這不僅節省了我多次測驗和填寫表單的時間,而且應用程式的用戶實際上可能會將某些欄位留空......
uj5u.com熱心網友回復:
只需添加blank=True并確保還有一個default引數:
age = models.CharField(default="no information", max_length=50, blank=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/400722.html
