首页 > 解决方案 > Django DRF 在序列化程序返回错误中添加带有查询的行

问题描述

嗨,我在使用它作为序列化程序时遇到了 DRF 问题:

from rest_framework import serializers
from Sitios.models import Sitio, muestras


class SitiosSerializer(serializers.ModelSerializer):
    id = serializers.IntegerField(read_only=True)
    ultimo_estado = serializers.SerializerMethodField(read_only=True)

    class Meta:
        model = Sitio
        fields = '__all__'
        depth = 1
        datatables_always_serialize = ('id', 'SitioNombre', 'url')

def get_ultimo_estado(self, obj):
    f = muestras.objects.filter(sitio__id=obj.pk).latest('-muestraDate')
    return str(f.estado)

问题是我在控制台中测试的查询集返回正确的值但是当我把它放入函数中时

muestras matching query does not exist.

当外键存在问题但它在控制台中有效时会发生此问题。我依靠不知道我做错了什么,或者您是否可以建议另一种行动方案。

标签: djangoserializationdjango-rest-frameworkdjango-queryset

解决方案


推荐阅读