ฉันกำลังพยายามทำให้เป็นอนุกรมของโมเดลที่มีฟิลด์คุณสมบัติที่ฉันต้องการทำให้เป็นอนุกรมด้วย
Models.py:
class MyModel(models.Model):
name = models.CharField(max_length=100)
slug = models.AutoSlugField(populate_from='name')
@property
def ext_link(self):
return "/".join([settings.EXT_BASE_URL, self.slug])
serializers.py:
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ('name', 'ext_link')
เมื่อพยายามเข้าถึง URL ที่เกี่ยวข้องฉันได้รับข้อยกเว้นของ Serializer (KeyError) ในext_link
คุณสมบัติ
ฉันจะทำให้ext_link
ทรัพย์สินเป็นอนุกรมได้อย่างไร?
fields
ในตัวอย่างข้างต้นคุณจะได้รับMyModel
ฟิลด์ทั้งหมดบวกext_link
ในข้อมูลซีเรียล และนี่ยอดเยี่ยมมากสำหรับโมเดลที่ซับซ้อน! แก้ไข :djangorestframework==2.3.14
อย่างน้อยนี้เป็นจริงสำหรับ