[解决了]
我就这样解决了这个问题。

类文章(serializers.ModelSerializer):
   likeCount = serializers.IntegerField(source ='like_set.count',read_only = True)
   类Meta:
      型号=文章
      字段=(...,likeCount)



我正在使用Django Rest框架。 (DB = MySQL)

我想导入另一个表的行数。

[文章表]
-articleNo(主键)
- 用户密钥
-内容
-likeCount

[像桌子]
-articleNo(从FK到article)
- 用户密钥

例如,articleNo == 1,计算相似表中的行数并存储商品表的likeCount列。

我只想知道与“ like table”有关的信息,特别适合对表中的值进行计数并将其列出到“ article table”中的certian条件

可以用Rest框架实现吗?

谢谢。

ps。由于我不是英语母语人士,如果您使用简单的语言来帮助我理解,将不胜感激。

[添加更多信息]

当我访问/ article

{
    "articleNo": 1,
    "userkey": {
        "userkey": "12345",
        "username": "hide"
    },
    "content": "test",
    "likeCount": 0,
},


页面返回结果是这样的。我想对like table realtedNo中的所有行计数为1,并将其显示给likeCount字段。

我想要代替的输出是这样的:

{
    "articleNo": 1,
    "userkey": {
        "userkey": "12345",
        "username": "hide"
    },
    "content": "test",
    "likeCount": like table's row count when articleNo==1,
},

最佳答案

我假设您想通过序列化器执行此操作。因此,假设可以通过以下方式完成此操作。

from rest_framework import serializers
from models import Article, ArticleLike

class ArticleSerialzer(serializers.Serializer.):
     def update(self, instance, validated_data):
        articleobj = Article.objects.get(articleNo=validated_data.get('articleNo', instance.articleNo))
        instance.likeCount = ArticleLike.objects.filter(articleNo=articleobj).count()
        instance.save()
        return instance

07-28 04:32