【发布时间】:2020-07-03 05:58:13
【问题描述】:
我有这些模型:
class Datas(BaseModel):
path = models.CharField()
folder = models.ForeignKey(folder, on_delete=models.CASCADE)
class Photos(BaseModel):
data = models.ForeignKey('Datas', on_delete=models.CASCADE)
name = models.CharField()
@property
def file_path(self):
return urljoin(self.data.folder.url, quote(self.full_path))
这些数据模型的序列化器:
class DatasSerializer(serializers.ModelSerializer):
path = serializers.CharField()
file_url = serializers.SerializerMethodField()
class Meta:
model = Datas
fields = (
'id',
'path',
'folder',
'file_url'
)
def get_file_url(self, obj):
return Photos.file_path
我想要的是从照片模型中检索 file_path。 是否可以以这种方式反向访问属性方法?
【问题讨论】:
-
是的,有可能,您需要获取“照片”表(实例)的实例,然后使用它 instance.file_path。
标签: python django django-rest-framework django-serializer