如何导入另一个表的行数?

时间:2018-02-07 17:02:01

标签: python mysql sql-server django

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

类文章(serializers.ModelSerializer):
   likeCount = serializers.IntegerField(source =' like_set.count',read_only = True)
   class Meta:
      model = article
      fields =(...,likeCount)

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

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

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

[喜欢表]
- articleNo(FK to article)
- userkey

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

所有我想知道的是关于"比如table",特别适合于对表中的值进行计数并将其列入"文章表"

的certian条件

可以用Rest框架实现吗?

感谢。

P.S。由于我是非英语母语人士,如果您使用简单的语言来帮助我理解,我们将非常感激。

[添加更多信息]

当我访问/ article

jsonPath()

页面返回这样的结果。我想计算所有表格中的所有行,文章是否为1,并将其显示为likeCount字段。

我希望输出的内容如下:

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

1 个答案:

答案 0 :(得分:0)

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

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