Python 如何在序列化程序中使用自定义变量?
我想创建一个序列化程序,它使用模型中的变量,并计算表中找到的相同id的数据数量 我创建了这个,但它不起作用: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",
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如果解决方案适合您,请投票并接受答案。