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
Python 如何在序列化程序中使用自定义变量?_Python_Django_Django Rest Framework - Fatal编程技术网

Python 如何在序列化程序中使用自定义变量?

Python 如何在序列化程序中使用自定义变量?,python,django,django-rest-framework,Python,Django,Django Rest Framework,我想创建一个序列化程序,它使用模型中的变量,并计算表中找到的相同id的数据数量 我创建了这个,但它不起作用: class WebsiteSerializer(serializers.Serializer): item_nr = serializers.IntegerField() class Meta: model = URL fields = ( "id", "item",

我想创建一个序列化程序,它使用模型中的变量,并计算表中找到的相同id的数据数量

我创建了这个,但它不起作用:

class WebsiteSerializer(serializers.Serializer):
    item_nr = serializers.IntegerField()

    class Meta:
        model = URL
        fields = (
            "id",
            "item",
            "status",
            "item_nr "
        )

    def get_item_nr (self, obj):
        obj.item_nr = Items.objects.filter(item_id=self.context.get(id)).count()
        return obj.item_nr 
这是我得到的错误:

试图获取字段
项\u nr
在序列化程序
网站上序列化程序
。序列化程序字段可能已命名
不正确,并且与
URL
实例上的任何属性或键都不匹配。 原始异常文本为:“URL”对象没有属性“item\u nr”


项目\u nr
将是一个非
整型字段
该字段将根据您在
get\u item\u nr
中返回的内容自动分配数据类型

class WebsiteSerializer(serializers.Serializer):
    item_nr = serializers.SerializerMethodField()

    class Meta:
        model = URL
        fields = (
            "id",
            "item",
            "status",
            "item_nr "
        )

    def get_item_nr (self, obj):
        obj.item_nr = Items.objects.filter(item_id=self.context.get(id)).count()
        return obj.item_nr 

您得到的错误是什么?请提供模型定义以了解更多上下文。谢谢。在“项目编号”中有一个空格。@ottomd如果解决方案适合您,请投票并接受答案。