ฉันต้องการทำให้เป็นอนุกรมรุ่น แต่ต้องการรวมเขตข้อมูลเพิ่มเติมที่ต้องทำการค้นหาฐานข้อมูลบางอย่างในอินสแตนซ์รูปแบบที่จะต่อเนื่อง:
class FooSerializer(serializers.ModelSerializer):
my_field = ... # result of some database queries on the input Foo object
class Meta:
model = Foo
fields = ('id', 'name', 'myfield')
วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร? ฉันเห็นว่าคุณสามารถส่งต่อใน "บริบท" พิเศษเพื่อ serializer เป็นคำตอบที่ถูกต้องในฟิลด์เพิ่มเติมในพจนานุกรมบริบทหรือไม่ ด้วยวิธีการที่ตรรกะของการได้รับข้อมูลที่ฉันต้องการจะไม่เป็นตนเองมีความหมาย serializer my_field
ซึ่งเหมาะเป็นอย่างยิ่งตั้งแต่ทุกกรณีจะต้องต่อเนื่อง ที่อื่นในเอกสาร DRF serializers มันบอกว่า "เขตข้อมูลพิเศษสามารถสอดคล้องกับคุณสมบัติใด ๆ หรือ callable ในรูปแบบ" ฟิลด์พิเศษที่ฉันกำลังพูดถึงคืออะไร ฉันควรกำหนดฟังก์ชั่นในการFoo
กำหนดรูปแบบของที่คืนmy_field
ค่าและใน serializer ฉันขอ my_field เพื่อ callable ที่? มันมีลักษณะอย่างไร
ขอบคุณล่วงหน้ายินดีที่จะชี้แจงคำถามหากจำเป็น