[英]Django error :TypeError: Object of type CharField is not JSON serializable.Thanks in Advance
[英]Object of type CharField is not JSON serializable
我正在通過嘗試構建想到的東西來學習 Django。 現在我正在嘗試構建 Django rest API 從 postgres 數據表中返回項目或所有項目。
模型.py
class AdModel(models.Model):
id = models.IntegerField
name = models.CharField(max_length=50),
address = models.CharField(max_length=50),
web = models.CharField(max_length=50),
class Meta:
db_table = 'mock_location_data'
序列化程序.py
class AdSerializer(serializers.ModelSerializer):
class Meta:
model = AdModel
fields = ['id', 'name', 'address', 'web']
視圖.py
class AdAPIView(APIView):
def get(self, request):
queryset = AdModel.objects.all()
serializer_class = AdSerializer(queryset, many=True)
return Response(serializer_class.data)
在 GET 請求中,我收到內部服務器錯誤 500,其中“CharField 類型的對象不是 JSON 可序列化的”
在 views.py 中,如果將 fields = ['id', 'name', 'address', 'web'] 替換為
fields = '__all__'
我正在獲取所有 id 字段
[ { "id": 1 }, { "id": 2 }, { "id": 3 },.....]
但沒有其他數據
我正在使用 Django 3.1.5 和 DRF 3.12.2
您在 AdModel 類的 id 字段中遺漏了一對括號,並且在每個字段之后也不需要“,”:
class AdModel(models.Model):
id = models.IntegerField()
name = models.CharField(max_length=50)
address = models.CharField(max_length=50)
web = models.CharField(max_length=50)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.