ฉันพยายามเปลี่ยนชื่อฟิลด์ Model ใน DRF Serializer เหมือนนามแฝงใน SQL ฉันลองใช้วิธีต่างๆแล้ว แต่ไม่สำเร็จ
Models.py
class Park(models.Model):
name = models.CharField(max_length=256)
alternate_name = models.CharField(max_length=256, blank=True)
objects = models.GeoManager()
class Meta:
db_table = u'p_park'
def __unicode__(self):
return '%s' % self.name
def alias_alternate_name(self):
return self.alternate_name
serializers.py
class ParkSerializer(serializers.ModelSerializer):
location = serializers.Field(source='alias_alternate_name')
#location = serializers.SerializerMethodField(source='alias_alternate_name')
#alternate_name as location
class Meta:
model = Park
fields = ('id', 'name', 'location')
ฉันพยายามเพิ่มนามแฝงใน Django Queryset แล้ว แต่ไม่สามารถเปลี่ยนได้
อัปเดตแล้ว
นี่คือข้อยกเว้นที่ฉันกำลังเผชิญ
AttributeError ที่ / ViewName / 'module' object ไม่มีแอตทริบิวต์ 'Field'
ฉันจะทำเช่นนี้ได้อย่างไร?
serializers.SerializerMethodField
หรือไม่? ฉันหมายถึงสิ่งนี้serializers.SerializerMethodField('get_location')
และdef get_location(self, obj): ...