我尝试将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 …
如何检查appsettings.json
.NET Core中是否存在配置节?
即使一个节不存在,以下代码也将始终返回实例化的实例。
例如
var section = this.Configuration.GetSection<TestSection>("testsection");
Run Code Online (Sandbox Code Playgroud) 我正在玩djangorestframework
,我的目标是在DjangoModelPermissions
对GET
请求做出反应的视图上使用。官方文件说:
也可以覆盖默认行为以支持自定义模型权限。例如,您可能要包括请求的
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
没有效果。
我上面有这个模型,我想删除标题.或者重命名它.实际上匹配编号本身就是这个模型的标题.所以我需要以下选项之一:
我的模特:
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) 我有一个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 ×3
django ×2
.net ×1
alpine-linux ×1
app-config ×1
appsettings ×1
asp.net-core ×1
docker ×1
json ×1
plpython ×1
postgresql ×1
timescaledb ×1
wagtail ×1