小编Yan*_*ann的帖子

将plpython3扩展添加到Postgres / timescaledb Alpine Docker Image

我尝试将plpython3扩展名添加到我的timescaledb/ postgres(基于Linux alpine)映像中:

FROM timescale/timescaledb:0.9.0-pg10

RUN set -ex \
    && apk add --no-cache --virtual .plpython3-deps --repository http://nl.alpinelinux.org/alpine/edge/testing \
    postgresql-plpython3
Run Code Online (Sandbox Code Playgroud)

当我尝试创建扩展名时,出现以下错误:

postgres=# CREATE EXTENSION plpython3u;
ERROR:  could not open extension control file "/usr/local/share/postgresql/extension/plpython3u.control": No such file or directory
Run Code Online (Sandbox Code Playgroud)

但是,当我在容器中搜索文件时,可以在其他目录中找到它们:

/ # find / -name '*plpy*'
/usr/lib/postgresql/plpython3.so
/usr/share/postgresql/extension/plpython3u.control
/usr/share/postgresql/extension/plpython3u--1.0.sql
/usr/share/postgresql/extension/plpython3u--unpackaged--1.0.sql
Run Code Online (Sandbox Code Playgroud)

如何安装postgresql-plpython3到其他目录或配置postgres为识别添加的扩展名?

更新资料

当我只是要发送mv的文件时,/usr/local/share/postgresql/extension出现错误:

postgres=# CREATE EXTENSION plpython3u;
ERROR:  could not access file "$libdir/plpython3": No such file or directory
Run Code Online (Sandbox Code Playgroud)

更新2 …

postgresql plpython docker alpine-linux timescaledb

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

如何检查.NET Core中是否存在配置节?

如何检查appsettings.json.NET Core中是否存在配置节?

即使一个节不存在,以下代码也将始终返回实例化的实例。

例如

var section = this.Configuration.GetSection<TestSection>("testsection");
Run Code Online (Sandbox Code Playgroud)

.net json app-config appsettings asp.net-core

5
推荐指数
3
解决办法
4066
查看次数

Django Rest Framework在ListAPIView上使用DjangoModelPermissions

我正在玩djangorestframework,我的目标是在DjangoModelPermissionsGET请求做出反应的视图上使用。官方文件说:

也可以覆盖默认行为以支持自定义模型权限。例如,您可能要包括请求的view模型权限GET

资源

因此,我如下修改了我的模型:

class User(AbstractUser):
    display_name = models.CharField(_('Display Name'), blank=True, max_length=255)

    class Meta:
        permissions = (
            ("view_user", "Can view users"),
        )

    def __str__(self):
        return self.username
Run Code Online (Sandbox Code Playgroud)

和视图:

class UserListAPIView(ListAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = (permissions.DjangoModelPermissions,)
Run Code Online (Sandbox Code Playgroud)

设定:

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.TokenAuthentication',
    ),
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissions'
    ]
}
Run Code Online (Sandbox Code Playgroud)

问题是我的实现UserListAPIView成功地将所有对象的列表返回给不属于Group自定义对象的用户User Permission。在我看来,这DjangoModelPermissions没有效果。

python django django-rest-framework

3
推荐指数
2
解决办法
1602
查看次数

Wigtail页面标题覆盖

在此输入图像描述

我上面有这个模型,我想删除标题.或者重命名它.实际上匹配编号本身就是这个模型的标题.所以我需要以下选项之一:

  • 将标题重命名为"匹配号"
  • 将自定义帮助文本添加到标题"添加匹配数"
  • 删除标题

我的模特:

class Match(Page):
    match_number = models.PositiveSmallIntegerField(blank=True)
    team_1 = models.ForeignKey(
        TeamRooster,
        null=True, blank=True,
        on_delete=models.SET_NULL,
        related_name="+",
    )
    team_1_color = ColorField(default='#ff0000', blank=True)
    team_1_score = models.PositiveSmallIntegerField(blank=True)
    team_2 = models.ForeignKey(
        TeamRooster,
        null=True, blank=True,
        on_delete=models.SET_NULL,
        related_name="+",
    )
    team_2_color = ColorField(default='#0066ff', blank=True)
    team_2_score = models.PositiveSmallIntegerField(blank=True)
    match_starts_at = models.DateTimeField()


    parent_page_types = ['Matches']

    content_panels = [
        FieldPanel('title'),
        FieldPanel('match_number', classname="6"),
        FieldPanel('match_starts_at', classname="6"),
        MultiFieldPanel([
            FieldPanel('team_1', classname="12"),
            FieldPanel('team_1_color', classname="6"),
            FieldPanel('team_2_score', classname="6"),
        ], heading="Team 1"),
        MultiFieldPanel([
            FieldPanel('team_2', classname="12"),
            FieldPanel('team_2_color', classname="6"),
            FieldPanel('team_2_score', classname="6"),
        ], heading="Team 2"),
    ]
Run Code Online (Sandbox Code Playgroud)

python wagtail

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

Django:在clean()方法中获取先前的值

我有一个CustomModel带有IntegerField 的模型。

class CustomModel(models.Model):
    count = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

当我CustomModel在admin中创建一个新实例时,我必须进行验证,因此我使用该clean方法并可以访问其中的值。

def clean(self):
    value = self.count
    ...
Run Code Online (Sandbox Code Playgroud)

我的问题:

当我更改CustomModel的实例时,我只能访问更改后的新值,而不能访问原始值。但是,为了进行验证,我必须将新值与实例被编辑之前的值进行比较。

我找不到如何获得访问权限的解决方案。有人知道吗

python django

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