Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django REST框架中获取正在序列化的模型的URL?_Django_Api_Rest_Serialization_Django Rest Framework - Fatal编程技术网

如何在Django REST框架中获取正在序列化的模型的URL?

如何在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模型中的一

我正在尝试使用Django REST框架创建一个API,如下所示:

[
    "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"