J'utilise Django reste-cadre, je suis en train d'obtenir un champ de mes modèlesDjango Rest cadre sérialiseur
class StudentSerializer(serializers.ModelSerializer):
class Meta:
model = Student
ordering = ['score' , 'username']
fields = ('id', 'username', 'user' ,'first_name', 'last_name', 'reg_number' ,'score', 'classroom')
mon problème est que je viens d'obtenir: -id -username -first_name -last_name -Score
mais je ne peux pas obtenir le reg_number et classe même si je supprime tous les champs:
class StudentSerializer(serializers.ModelSerializer):
class Meta:
model = Student
ordering = ['score' , 'username']
J'obtiens le résultat.
Je possède ce problème seulement avec 3 modèles: User & étudiant & Professeur (étudiants et le professeur sont inhereted de l'utilisateur)
mon modèle étudiant:
class Student(User):
reg_number = models.IntegerField()
classroom = models.ForeignKey(Classroom)
score = models.IntegerField(default=0)
skills = models.TextField(blank=True)
interest = models.TextField(blank=True)
about = models.TextField(blank=True)
projects = models.TextField(blank=True)
Les définitions de votre sérialiseur sont correctes. Je viens de tester un graphique d'héritage de modèle équivalent avec DRF v3.1.1. Potentiellement, c'est un problème avec les définitions du modèle. Pouvez-vous partager ceux-ci aussi? –
je viens de changer les noms en ajoutant "s" à Student "s" ..... à mon avis et sérialiseur et tout fonctionne. mais je ne peux pas obtenir le problème ^^ – user3375448
Il n'est pas clair quels «noms» vous changez .... Noms de classe de modèle, noms d'attribut de champ, chaînes littérales représentant les noms de modèle/champ. Il est donc difficile de vous aider à comprendre où était le problème. Je suis content que tu l'aies fonctionné de toute façon. –