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

标签 python mysql sql-server django

[已解决] 我就是这样解决这个问题的。

类文章(serializers.ModelSerializer):
likeCount = serializers.IntegerField(source='like_set.count', read_only=True)
类元:
模型=文章
fields = ( ..., likeCount)

<小时/>

我正在使用 Django Rest 框架。 (数据库=MySQL)

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

[文章表]
- 文章编号(主键)
- 用户 key
- 内容
- 喜欢计数

[点赞表格]
- 文章编号(FK 到文章)
- 用户 key

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

我想知道的是关于“像表”,特别适合计算表中的值并将其列出到“文章表”的特定条件

可以用Rest框架实现吗?

谢谢。

附:由于我的母语不是英语,如果您使用通俗易懂的语言来帮助我理解,我将不胜感激。

[添加更多信息]

当我访问/article时

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

页面返回结果是这样的。我想计算 like 表中相关的articleNo 为 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

关于python - 如何导入另一个表的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48669387/

相关文章:

python - 如何在 TensorFlow 中获取输出预测

python - 如何将字典项作为属性访问,反之亦然

python - 日期时间格式不匹配

.net - 将 SQL Server 中的数字列表作为单字节数组流式传输

sql - 如何在不更改总和的情况下舍入单个 SQL 请求中的列?

python - 如何 pickle Keras 自定义层?

mysql - 如何使用 xslt 将默认的 mysql modtimes 转换为 UTC 日期时间

mysql - 使用多个连接优化 MySQL Count 查询

python - django.db.utils.OperationalError : (2003, "Can' t 连接到 '127.0.0.1' (111) 上的 MySQL 服务器”

sql-server - bcp 命令不起作用