小编Web*_*tor的帖子

在Django Rest Framework中,如何添加ManyToMany相关对象?

这是我的代码:

楷模

class Recipe(models.Model):
  name = models.CharField(max_length=50, unique=True)
  ingredient = models.ManyToManyField(Ingredient)

class Ingredient(models.Model):
  name = models.CharField(max_length=50, unique=True)
Run Code Online (Sandbox Code Playgroud)

看法

class RecipeDetailAPIView(RetrieveUpdateDestroyAPIView):
  permission_classes = (IsAdminOrReadOnly,)
  serializer_class = RecipeSerializer
  queryset = Recipe.objects.all()

  def put(self, request, *args, **kwargs):
    return self.update(request, *args, **kwargs)

  def perform_update(self, serializer):
    serializer.save(updated_by_user=self.request.user)
Run Code Online (Sandbox Code Playgroud)

序列化器

class IngredientSerializer(serializers.ModelSerializer):

    class Meta:
        model = Ingredient
        fields = [
      'id',
            'name',
        ]

class RecipeSerializer(serializers.ModelSerializer):
  ingredient = IngredientSerializer(many=True, read_only=False)

  class Meta:
    model = Recipe
    fields = [
      'id',
      'name',
      'ingredient',
    ]
Run Code Online (Sandbox Code Playgroud)

我从以下 Recipe 对象开始:

{
    "id": 91 …
Run Code Online (Sandbox Code Playgroud)

django-rest-framework

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

Windows 10上的MAMP-Apache服务器启动然后停止

我正在使用Windows10。当我在MAMP上启动服务器时,Apache Server旁边的圆圈变为绿色,然后再次变为白色。MySQL按预期启动。我知道Apache服务器正在启动,因为我看到httpd.exe显示在端口8888的资源监视器中,但是随后它变灰并消失了。因此,启动后似乎正在停止Apache Server。该计算机是新计算机,并且运行了McAfee LiveSafe,但我先卸载了该计算机,然后重新启动,但无法解决问题。我也有Windows Defender,但我允许Apache HTTP Server通过防火墙。

通过防火墙的Apache HTTP Server

有人知道是什么原因造成的吗?

apache mamp

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

使用 heroku pg:backups:restore 导入到 Heroku Postgres

我正在尝试根据本文将本地 PostgreSQL 数据库复制到 Heroku 。

这是我所做的:

1. 制作转储文件

pg_dump -Fc --no-acl --no-owner -h localhost -U postgres mydb > mydb.dump
Run Code Online (Sandbox Code Playgroud)

2.将转储文件上传到 aws my-bucket-name/db-backup 文件夹。

aws s3 cp mydb.dump s3://my-bucket-name/db-backup/mydb.dump
Run Code Online (Sandbox Code Playgroud)

3. 生成签名 URL:

aws s3 presign s3://my-bucket-name/db-backup/mydb.dump --region us-east-2
Run Code Online (Sandbox Code Playgroud)

4. 验证签名的 URL 是否可访问。

在浏览器的隐身选项卡中导航到预先签名的 URL。有用。

5. 使用生成的签名 URL 备份到 Heroku

我使用双引号是GENERATED_URL因为我在 Windows 上:

heroku pg:backups:restore --app my-app-name --confirm my-app-name "GENERATED_URL"
Run Code Online (Sandbox Code Playgroud)

例如:

heroku pg:backups:restore --app my-app-name --confirm my-app-name "https://s3.us-east-2.amazonaws.com/s3.console.aws.amazon.com/s3/buckets/my-bucket-name/db-backup/mydb.dump?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIABCDVKE2GXCY3YXL7V%2F20200934%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20200924T164718Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=fb2f51c0d7fbe1234e3740cf23c37f003575d968a1e4961684a47ac627fbae2e"
Run Code Online (Sandbox Code Playgroud)

结果

我收到以下错误:

Restoring... !
 !    An error occurred and the backup …
Run Code Online (Sandbox Code Playgroud)

heroku heroku-postgres heroku-cli

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

对于熊猫系列,不应该s.sort_index(inplace = True)改变s?

鉴于此代码:

s = pd.Series([1,2,3], index=['C','B','A'])
s.sort_index(inplace=True)
Run Code Online (Sandbox Code Playgroud)

s现在不应该是这样的:

A    3
B    2
C    1
dtype: int64
Run Code Online (Sandbox Code Playgroud)

当我运行它时,s保持不变.也许我对这个inplace论点应该做什么感到困惑.我认为它应该改变调用该方法的系列.

对于记录,这确实返回已排序的系列,但无论您是否设置inplace为True ,它都会返回.

python pandas

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

不带参数的Oracle函数

为什么说CURRENT_DATECURRENT_TIMESTAMPSYSDATE,和SYSTIMESTAMP被称为没有括号。我知道它们没有参数,但是在其他语言中,您仍然可以使用括号来调用函数。在Oracle中是否永远不会使用参数的任何函数都不能用括号调用?

如果有人可以指出我的文档,我将不胜感激。

oracle function

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

如何更改 PowerShell 提示符以仅显示父目录和当前目录?

我想缩短我的 PowerShell 提示符,以便它只显示父目录和当前目录。例如,如果密码是

C:\Users\ndunn\OneDrive\Documents\Webucator\ClassFiles\python-basics\Demos
Run Code Online (Sandbox Code Playgroud)

我希望提示是:

PS ..\python-basics\Demos> 
Run Code Online (Sandbox Code Playgroud)

我可以PS ..\Demos> 通过更改prompt()Profile 文件中的函数来实现它:

  1. 通过$profile在 PowerShell 中运行来查找配置文件的位置。
  2. 打开(或创建并打开)配置文件。
  3. 更改(或添加)以下prompt()函数:

function prompt
{
  $folder = "$( ( get-item $pwd ).Name )"
  "PS ..\$folder> "
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用split()负索引,但无法使其正常工作。

另外,如果密码至少低两级,我只想这样做。如果密码类似于 C:\folder\folder,我想显示默认提示。

有任何想法吗?

powershell command-prompt

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

为什么在通过 props 传入时需要状态变量的 setter 作为 useEffect 的依赖项?

比较以下两个组件:

儿童.js

import React, { useEffect } from "react";

function Child({ count, setCount }) { // Note: Has parameter
  useEffect(() => {
    setInterval(() => {
      setCount(prevCount => prevCount + 1);
    }, 1000);
  }, []);

  return <div>{count}</div>;
}

export default Child;
Run Code Online (Sandbox Code Playgroud)

Child2.js

import React, { useEffect, useState } from "react";

function Child2() { // Note: No parameter
  const [count, setCount] = useState(0); // State variable assigned in component

  useEffect(() => {
    setInterval(() => {
      setCount(prevCount => prevCount + 1);
    }, 1000); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs use-effect

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

tr元素样式的display属性的初始值是多少?

我有以下HTML页面:

<table>
  <tr id="tr"></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

在Chrome DevTools的控制台中,我编写了以下代码:

var tr = document.getElementById('tr');
var cs = getComputedStyle(tr);
cs.display;
"table-row"
Run Code Online (Sandbox Code Playgroud)

如预期的那样,显示默认为“表行”。

然后将显示设置为无:

tr.style.display = 'none';
"none"
cs.display;
"none"
Run Code Online (Sandbox Code Playgroud)

再次,这按预期工作。

然后,我使用“未设置”来取消显示样式:

tr.style.display = 'unset';
"unset"
cs.display;
"inline"
Run Code Online (Sandbox Code Playgroud)

我希望显示再次成为“表行”,但它变成“内联”。

我尝试使用“还原”,但结果相同:

tr.style.display = 'revert';
"revert"
cs.display;
"inline"
Run Code Online (Sandbox Code Playgroud)

“继承”也不起作用:

tr.style.display = 'inherit';
"inherit"
cs.display;
"inline"
Run Code Online (Sandbox Code Playgroud)

我的问题是:这是一个错误吗?不应“还原”,“初始”和“取消设置”全部将显示属性设置回其初始值吗?

根据Danield的回复进行编辑 @Danield是正确的,还原应该按照我的预期进行,但尚未得到很好的支持。Safari确实支持还原: Safari中的还原值

css

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