Всем салют!
При попытке обратиться к api (неважно GET или POST) django швыряет такую ошибку:
TypeError at /requestuse/
<django.db.models.fields.related.ForeignKey> is not JSON serializable
Имеется такая моделька:
from renter.models import *
from classification_list.models import*
from django.contrib.gis.db import models
from django.contrib.gis.geos import *
from django.contrib.gis.db.models.proxy import SpatialProxy
class FcaUse(models.Model):
id_fca = models.ForeignKey(Fca, blank=True, null=True, on_delete=models.DO_NOTHING)
fell_form = models.ForeignKey(ShapeFelling, blank=True, null=True, on_delete=models.DO_NOTHING, verbose_name='kind1')
fell_type = models.ForeignKey(TypeFelling, blank=True, null=True, on_delete=models.DO_NOTHING, verbose_name='kind2')
main_type = models.ForeignKey(TypesForestry, blank=True, null=True, on_delete=models.DO_NOTHING, verbose_name='kind3')
sortiment = models.ForeignKey(ForestSort, blank=True, null=True, on_delete=models.DO_NOTHING, verbose_name='compos')
ed_izm = models.ForeignKey(UnitMeas, blank=True, null=True, on_delete=models.DO_NOTHING, verbose_name='values')
vol_drew = models.FloatField(blank=True, null=True)
fca_res = models.SmallIntegerField(blank=True, null=True)
vol_res = models.FloatField(blank=True, null=True)
kind_id_id = models.ForeignKey(ForestKind, blank=True, on_delete=models.DO_NOTHING, verbose_name='group'),
class Meta:
verbose_name = 'using'
verbose_name_plural = 'usings'
managed = True
Для нее, соответственно имеются serializers и view (весь код тут: https://pyfiddle.io/fiddle/486edc79-6252-4d9e-86a9-5ba8e6dccd25/?i=true)
Гуглил, спрашивал на других ресурсах никто особо ничего не подсказал, serializer вроде в порядке.. Попробовал обращаться к json с помощью контроллера:
def cutareause(request):
if request.method == 'GET':
queryset = FcaUse.objects.all()
serializer = FcaUseSerializer (queryset, many= True)
return JsonResponse(serializer.data, safe=False)
Но результат оказался тем же : <django.db.models.fields.related.ForeignKey> is not JSON serializable. Как исправить??
Фулл trackback там же в Pyfiddle.
Updated 11 April 2019, 16:50 by postgeographer.