小编Nit*_*hin的帖子

bash 脚本中的 ssh 退出循环

我正在尝试在几个远程主机上运行一些命令。我在一个文件中有他们的 ip 列表ips.txt(每行一个 ip)。

#!/bin/bash

while IFS= read -r wip; do
    echo $wip
    ssh root@$wip "pkill pgm; cd /root/pgm; nohup ./pgm  > /dev/null 2>&1 &"
    echo "$wip end"
done < ips.txt
Run Code Online (Sandbox Code Playgroud)

我正在运行上面的脚本。但问题是在读取第一个 ip 后循环退出。但如果我删除 ssh 行,它会打印所有 ip。

ssh bash stdin

6
推荐指数
1
解决办法
2111
查看次数

使用 Django rest 框架实现标签

TDLR:在 django-rest-framework 中实现标签的最佳方式是什么。其中标签有一个created_by字段,它是当前经过身份验证的用户。

我试图实现一个非常简单/常见的事情,为帖子添加标签。但显然它不是小菜一碟。

所以我有一个帖子模型和一个标签模型(可能有很多关系)。我希望用户能够更新和创建帖子。创建或更新帖子时,他应该能够更新帖子的标签。当帖子被标记为新标签时,如果该标签不存在,则应创建该标签。我还希望用户能够将标签指定为请求中的字符串列表。

示例请求

{
    "name": "testpost1",
    "caption": "test caption",
    "tags": ["tag1", "tag2"],
},
Run Code Online (Sandbox Code Playgroud)

模型.py

class Tags(models.Model):
    id = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False)
    name = models.CharField(max_length=50, unique=True)
    created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name="created_tags")

class Posts(models.Model):
    id = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False)
    name = models.CharField(max_length=50)
    caption = models.TextField(max_length=1000)
    created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='posts')
    tags = models.ManyToManyField('Tags', related_name='posts')
Run Code Online (Sandbox Code Playgroud)

序列化程序.py

class TagsSerializerMini(serializers.ModelSerializer):
    created_by = serializers.PrimaryKeyRelatedField(default=serializers.CurrentUserDefault(), queryset=User.objects.all())

    class Meta:
        model = Tags
        fields = ('name', 'created_by')
        extra_kwargs = {
            'created_by': {'write_only': True}, …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

6
推荐指数
1
解决办法
2188
查看次数

谷歌电子表格API v4 - 查找值

如何使用新的api v4搜索谷歌电子表格.

在api docs中我找到了find/replace,但它找不到单元格,它只替换了单元格.那么有什么方法可以在google电子表格中找到一个除了获取所有数据并在其中搜索的强力方法之外的值的方法吗?

google-sheets google-spreadsheet-api google-sheets-api

3
推荐指数
1
解决办法
2514
查看次数

Django 对布尔字段进行注释

class Forecast(Model):
    id = UUID()
    type = StringField()
    approved = BooleanField()
Run Code Online (Sandbox Code Playgroud)

type我想通过在批准的字段上应用“逻辑与”来对该字段进行分组。假设带注释的字段是all_approved. all_approved如果该类型的所有项目都为 True,则应为 True;如果至少有一项为 False,则应为 false。

所以最后在我的查询集中我想要有两个字段type, all_approved

我怎样才能做到这一点?

我根据这个答案尝试了一些东西,但什么也没得到。

编辑:

当我尝试该答案中给出的内容时,它没有执行“逻辑与”。相反,对于每个type项目,它只给出两项,一项为all_approvedTrue,另一项all_approved为 False。我想要每个项目一个type

我也不明白为什么这个答案应该有效。在哪里指定分组时是否应该执行“逻辑与”或“逻辑或”。

django postgresql django-queryset

2
推荐指数
1
解决办法
4962
查看次数

干净的架构 Android:在哪里做对象映射

我正在尝试基于 bob 的简洁架构构建一个 android 应用程序。我已经阅读了很多关于相同的文章。终于跟着这个这个。我从这里阅读了有关存储库模式的信息

该应用程序是一个简单的 Note(/Ideas) 记录应用程序。我是按功能打包的。

封装结构

让我们以案例为例,从数据库中获取所有笔记/想法。我有一个用例/交互器GetAllIdeasUseCase,它将返回(观察者)业务对象列表IdeasEntity。这使用IdeasRepository来获取想法列表。这IdeaLocalStore是数据库的存储库。IdeasRepository 目前只是在IdeaLocalRepository和之间进行选择IdeaCloudRepository,并将在它们上调用相应的函数。

要创建 IdeasEntity,我需要使用多个数据库模型,因此需要多次调用 IdeaLocalStore。我需要将它们结合起来。

所以问题是我应该在哪里做这个组合/映射。我IdesRepository应该在用例中进行还是在用例中进行?

android clean-architecture

1
推荐指数
1
解决办法
1684
查看次数