"Registro_Entrada"를 모두 가져 와서 "fk_tipo_entrante"가 "2"일 때 "Entrante"로 필터링하고 싶습니다.django rest framework 중첩 필터
VIEWS.py에내가 가진 :
SERIALIZERS.py에class GetPersonalEntranteRegistro_EntradaAPIView(generics.ListAPIView):
serializer_class = Registro_EntradaNestedSerializer
def get_queryset(self):
entrante = Entrante.objects.all().filter(fk_tipo_entrante=2)
registro = Registro_Entrada.objects.filter(fk_entrante = entrante.pk)
return registro
내가 가진 : MODELS.py에
class Registro_EntradaNestedSerializer(serializers.ModelSerializer):
fk_tarifa = TarifaSerializer(many=False)
fk_entrante = EntranteNestedSerializer(many=False)
class Meta:
model = Registro_Entrada
fields = ('_all_')
내가 가진 :
class Entrante(models.Model):
fk_credencial = models.ForeignKey(Credencial,related_name='credencial_entrada',on_delete=models.CASCADE)
fk_placa = models.ForeignKey(Placa, related_name='credencial_placa',on_delete=models.CASCADE)
fk_tipo_entrante = models.ForeignKey(Tipo_Entrante,related_name='entrante_tipo',on_delete=models.CASCADE)
fk_persona = models.ForeignKey(Persona,related_name='entrante_persona',on_delete=models.CASCADE)
estatus = models.IntegerField(default=1)
class Registro_Entrada(models.Model):
fecha_entrada = models.DateTimeField(auto_now_add=True)
fecha_salida = models.DateTimeField(null=True)
fk_tarifa = models.ForeignKey(Tarifa,related_name='registro_tarifa',on_delete=models.CASCADE)
fk_entrante = models.ForeignKey(Entrante,related_name='regitro_entrante',on_delete=models.CASCADE)
costo = models.DecimalField(decimal_places=2, max_digits=50)
saldo = models.DecimalField(decimal_places=2,max_digits=50)
estatus = models.IntegerField(default=1)
그것은 다음을 보여줍니다 오류 :
'QuerySet' object has no attribute 'pk'
'entrante = Entrante.objects.all(). filter (fk_tipo_entrante = 2) .first()' –