Python 如何在django模型中创建自定义函数?

Python 如何在django模型中创建自定义函数?,python,django,python-3.x,django-models,django-views,Python,Django,Python 3.x,Django Models,Django Views,我有一个django模型 class UserInfluencerGroupList(models.Model): list_name = models.CharField(max_length=255) influencers = models.ManyToManyField(Influencer, blank=True) user = models.ForeignKey(MyUser, on_delete = models.CASCADE) def __st

我有一个django模型

class UserInfluencerGroupList(models.Model):
    list_name = models.CharField(max_length=255)
    influencers = models.ManyToManyField(Influencer, blank=True)
    user = models.ForeignKey(MyUser, on_delete = models.CASCADE)

    def __str__(self):
        return self.list_name
我的观点功能是:

def get_lists(request,user_email):
    """Get all the lists made by user"""
    try:
        user_instance = MyUser.objects.get(email=user_email)
    except MyUser.DoesNotExist:
        return HttpResponse(json.dumps({'message':'User not found'}),status=404)

    if request.method == 'GET':

        influencers_list = UserInfluencerGroupList.objects.all().order_by('id').filter(user=user_instance)
        influencers_list = serializers.serialize('json',influencers_list, fields =['id','influencers','list_name'], indent=2, use_natural_foreign_keys=True, use_natural_primary_keys=True)

        return HttpResponse(influencers_list,content_type='application/json',status=200)
    else:
        return HttpResponse(json.dumps({'message':'No lists found'}), status=400)

除了列表中的常规数据外,我还想计算列表中每个影响者的总追随者、总喜欢和总评论。“影响者”模型具有总喜欢、评论和关注者的字段


我应该如何编写一个函数来计算和显示它,连同列表返回的所有其他数据

,如果想返回自己选择的JSON,或者如果要创建自己的REST API,应该考虑使用。 另一种方法是全部手动创建json,即构建字典,然后使用json.dumps

(如果您真的想使用“手动”,请参阅答案)

django序列化程序不支持您要执行的操作:

未修复的报价: “恐怕我看不出你的建议有什么好处 存在序列化框架以方便Django的序列化 DB支持的对象-不用于任意序列化_any_ 对象和派生属性,如高亮显示的属性 示例不会向对象的序列化表示添加任何内容
DB backed object…

如果要在序列化程序中使用此
total\u likes
,则应在查询中使用注释。抱歉,问题有点不清楚。您想知道如何序列化影响者列表吗?不,影响者列表已序列化。在序列化数据中,我想发送每个影响者的追随者数量