es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo obtener una lista de los nombres de estudiantes existentes en Django?

Soy un traductor español que traduce documentos de tecnología de la información. Traduzca lo siguiente al español. No traduzca el código y el resultado en markdown.

Soy nuevo en el marco de trabajo del resto de Django, quiero obtener una lista de los nombres de los estudiantes (solo) cuando existe. ¿Puede ayudarme alguien?

En mi models.py

class School(models.Model):
    name = models.CharField(maxlength=100, null=False, blank=False)
    city = models.CharField(maxlength=100, null=False, blank=False)
    street = models.CharField(max_length=100, null=False, blank=False)

def __str__(self):
    return f"{self.city}->{self.street}->{self.name}"


class Student(models.Model):
    schoolid = models.ForeignKey(School, ondelete=models.CASCADE)
    firstname = models.CharField(maxlength=100, null=False, blank=False)
    lastname = models.CharField(maxlength=100, null=False, blank=False)

def __str__(self):
    return f"{self.first_name} {self.last_name}"


En mi serializers.py:

class StudentSerializer(serializers.Serializer):
    class Meta:
        model = Student
        fields = ['first_name']

class SchoolSerializer(serializers.Serializer):
    isexistingstudent = = serializers.BooleanField()
    student = StudentSerializer(many=True, read_only=True)

class Meta:
    model = School
    fields = ['is_existing_student','student']


En mi views.py:

python
class schoolViewSet(viewsets.ModelViewSet):
serializer_class = SchoolSerializer
queryset = School.objects.all()

En esta imagen puede ver cómo debería verse.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar el SchoolSerializer para obtener la lista de nombres de pila de los estudiantes. El SchoolSerializer tiene un StudentSerializer anidado dentro de él, el cual tiene el campo first_name. Puede utilizar el SchoolViewSet para obtener la lista de nombres de pila de los estudiantes.

Comments are closed.