如何在Django REST框架中获取正在序列化的模型的URL?
我正在尝试使用Django REST框架创建一个API,如下所示:如何在Django REST框架中获取正在序列化的模型的URL?,django,api,rest,serialization,django-rest-framework,Django,Api,Rest,Serialization,Django Rest Framework,我正在尝试使用Django REST框架创建一个API,如下所示: [ "expression": { "expression": e, "url": e_url }, "definition": d ] 检索表达式对象中的url字段时遇到问题。我正在尝试使用超链接的LatedField,但无法正常工作。我想指出,url不是我的Expression模型中的一
[
"expression": {
"expression": e,
"url": e_url
},
"definition": d
]
检索表达式
对象中的url
字段时遇到问题。我正在尝试使用超链接的LatedField,但无法正常工作。我想指出,url
不是我的Expression
模型中的一个字段
class ExpressionSerializer(serializers.ModelSerializer):
url = serializers.HyperlinkedRelatedField(
view_name="dictionary:expression",
lookup_field="slug",
read_only=True,
many=False,
)
class Meta:
model = Expression
fields = ["url", "expression"]
class DefinitionSerializer(serializers.ModelSerializer):
expression = ExpressionSerializer(many=False)
class Meta:
model = Definition
fields = ["expression", "definition"]
如何检索表达式的URL?如果
URL
不是expression
模型的一部分,则需要使用SerializerMethodField
:
url = serializers.SerializerMethodField()
def get_url(self, expression):
return "url_goes_here"