私はこのDjangoのRESTフレームワークシリアライザクラスを持っている:タイプ
class DoctorMeetingSerializer(serializers.ModelSerializer):
doctor_id = serializers.CharField()
patient_id = serializers.CharField()
meetings_amount = serializers.SerializerMethodField()
class Meta:
model = DoctorMeeting
fields = (
'id',
'doctor_id',
'patient_id',
'start_time',
'end_time',
'subject',
'meetings_amount',
)
read_only_fields = ('zoom_meeting_id', 'is_live', 'meetings_amount',)
def get_meetings_amount(self, obj):
print(type(obj))
meetings_amount = DoctorMeeting.objects.filter(patient=obj.patient_id).count()
return meetings_amount
は私が要求をGET行う際に、印刷(タイプ(objが))objがシリアライザのインスタンスであることを示しているが、その後、I POST要求を行うと、objはOrderedDictインスタンスになり、 'patient_id'属性はありません。なぜこのオブジェクトは異なる要求メソッドで型を変更しますか?
私は質問に同様にあなたの視野を投稿し、問題はあなたのビューであると思います。 – Satendra
はい、ビューはジレンマかもしれませんが、次のようにしてdictを読むことができます。 **自己.__ dict __ ['initial_data'] ** –