小编And*_*der的帖子

带有PostgreSQL的SQLAlchemy中的ENUM类型

我正在使用带有postgresql数据库的SQLAlchemy核心,我想将ENUM类型添加到我的表定义中.根据postgresql文档,必须在创建表之前定义ENUM类型:

CREATE TYPE gender_enum AS ENUM ('female', 'male');

CREATE TABLE person (
  name VARCHAR(20),
  gender gender_enum
);
Run Code Online (Sandbox Code Playgroud)

问题是当我创建表定义时.阅读SQLAlchemy文档后,我找不到任何实现示例.我尝试过类似的东西,但它不起作用:

from sqlalchemy.dialects.postgresql import ENUM

person = Table('user_profile', metadata,
  Column('name', String(20)),
  Column('gender', ENUM('female','male'))
);
Run Code Online (Sandbox Code Playgroud)

怎么做?

postgresql enums sqlalchemy

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

使用pip和Python 3.6在Ubuntu 16.04上安装mysqlclient时出错

尝试使用pip + Python 3.6Ubuntu 16.04 Xenial上安装mysqlclient时出现一个奇怪的错误:

 pip install mysqlclient
Run Code Online (Sandbox Code Playgroud)

输出:

 _mysql.c:40:20: fatal error: Python.h: No such file or directory
 compilation terminated.
 error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

按照安装要求,我已经尝试安装所需的库,但到目前为止还没有运气.

sudo apt-get install python3-dev libmysqlclient-dev
Run Code Online (Sandbox Code Playgroud)

有人知道这个问题的解决方法吗?

python ubuntu python-3.6

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

如何在Bootstrap Tags Input中使用typeahead选项

我正在使用带有typeahead的Bootstrap标签输入,我想知道如何设置typeaheadjs的默认选项.在示例中,我看到过这样的事情:

var input = $('input');
input.tagsinput({
    itemValue: 'value',
    itemText: 'text',
    typeaheadjs: {
        name: 'engine',
        displayKey: 'text',
        source: engine.ttAdapter()
}
Run Code Online (Sandbox Code Playgroud)

这里,typeaheadjs表示数据集,但是如何添加提示,高亮,minLength等基本选项?

typeahead.js bootstrap-tags-input

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

11
推荐指数
2
解决办法
6953
查看次数

使用Ansible获取文件夹的排序列表

我有OS X"El capitan"10.11.6,我使用 Ansible 2.1.1.0在远程Linux服务器Ubuntu 16.04 Xenial上运行一些维护任务.我正在尝试将以下文件夹列表排序,因此我可以在需要时删除旧文件夹:

/releases/0.0.0
/releases/0.0.1
/releases/0.0.10
/releases/1.0.0
/releases/1.0.5
/releases/2.0.0
Run Code Online (Sandbox Code Playgroud)

我一直在尝试使用Ansible中的模块find,但它返回一个未排序的列表.使用Ansible有一个简单的方法来实现这一目标吗?

ansible

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

如何计算 Angular2 中的 dom 元素

我想知道是否有一种简单的方法可以使用Angular 2来计算 dom 元素。例如具有以下代码:

    <div *ngFor="let user of users" [ngClass]="{'special': isSpecial(user)}">
        {{ user.name }}
    </div>
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以在不创建管道或函数的情况下获取包含特殊类的总行数?

使用 Jquery 就像运行一样简单:

$( ".special" ).length;
Run Code Online (Sandbox Code Playgroud)

angular

6
推荐指数
2
解决办法
4062
查看次数

如何将多个文件复制到docker数据卷中

这可能听起来微不足道,但我找不到一种简单的方法将多个文件复制到docker卷的根文件夹中.我使用的是Ubuntu Xenial 16.04Docker 1.12.1.例如,如果我有一个带有volume / my_data的Ubuntu容器:

docker run --name my_container -v /my_data -d ubuntu:latest 
Run Code Online (Sandbox Code Playgroud)

在我的主机我有一个文件夹,名为的/ tmp/my_data /处理多个文件里面,我想所有这些文件复制到卷/ my_datamy_container.我尝试了以下方法,但没有一个工作:

docker cp /tmp/my_data my_container:/
Run Code Online (Sandbox Code Playgroud)
docker cp /tmp/my_data/* my_container:/my_data/
Run Code Online (Sandbox Code Playgroud)

有人知道解决这个问题吗?

docker docker-volume docker-container

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

如何使用Celery和Django将任务路由到不同的队列

我使用以下堆栈:

  • Python 3.6
  • Celery v4.2.1(经纪人:RabbitMQ v3.6.0)
  • Django v2.0.4.

根据Celery的文档,在不同队列上运行计划任务应该像在CELERY_ROUTES上为任务定义相应队列一样简单,但是所有任务似乎都在Celery的默认队列上执行.

这是my_app/settings.py上的配置:

CELERY_BROKER_URL = "amqp://guest:guest@localhost:5672//"
CELERY_ROUTES = {
 'app1.tasks.*': {'queue': 'queue1'},
 'app2.tasks.*': {'queue': 'queue2'},
}
CELERY_BEAT_SCHEDULE = {
    'app1_test': {
        'task': 'app1.tasks.app1_test',
        'schedule': 15,
    },
    'app2_test': {
        'task': 'app2.tasks.app2_test',
        'schedule': 15,
    },

}
Run Code Online (Sandbox Code Playgroud)

任务只是用于测试路由的简单脚本:

文件app1/tasks.py:

from my_app.celery import app
import time


@app.task()
def app1_test():
    print('I am app1_test task!')
    time.sleep(10)
Run Code Online (Sandbox Code Playgroud)

文件app2/tasks.py:

from my_app.celery import app
import time


@app.task()
def …
Run Code Online (Sandbox Code Playgroud)

django celery python-3.x django-celery python-3.6

5
推荐指数
2
解决办法
2415
查看次数

如何使用 Linux alpine 3.13 在 Docker 镜像上安装 hdf5

我正在使用 python 3.7.10 (Linux Alpine v 3.13 )构建一个 Docker 镜像,但是在安装过程中使用docker build .hdf5构建镜像时会失败。这是我的 Dockerfile:

FROM python:3.7.10-alpine3.13

RUN mkdir /app
WORKDIR /app
COPY requirements.txt /requirements.txt
ENV CRYPTOGRAPHY_DONT_BUILD_RUST=1
RUN apk add --update --no-cache --virtual .tmp gcc libc-dev linux-headers
RUN apk add --no-cache jpeg-dev zlib-dev mariadb-dev libffi-dev openblas-dev libgfortran lapack-dev build-base openssl-dev
RUN apk add --no-cache hdf5 hdf5-dev
RUN pip install -r /requirements.txt
RUN apk --no-cache del build-base

ENV PYTHONUNBUFFERED 1
COPY . /app/

CMD ["uwsgi", "my_app"]
Run Code Online (Sandbox Code Playgroud)

需求.txt文件:

h5py==2.10.0 …
Run Code Online (Sandbox Code Playgroud)

hdf5 python-3.x docker alpine-linux python-3.7

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

如何在 Django 中为相关字段预取相关字段

我似乎有一些关于如何在 Django 中以前向和后向关系预取相关字段的示例,但我怀疑如果我们想预取相关模型的所有字段,如何应用它。

例如,如果我想从以下模型中获取所有内容,使用HealthCheck作为起点。哪一个是实现这一目标的最优化查询?

class HealthCheck(models.Model):
    id = models.Integer()
    person = models.ForeignKey('Person')


class Person(models.Model):
    profile = models.ForeignKey('Profile')
    vaccines = models.ManyToManyField('vaccines', through='PersonVaccines')


class Profile(models.Model):
    name = models.CharField(max_length=16)


class PersonVaccines(models.Model):
    person = models.ForeignKey(Person)
    vaccine = models.ForeignKey('Vaccine')


class Vaccine(models.Model):
    name = models.CharField(max_length=16)
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的方法,但似乎不起作用:

from django.db.models import Prefetch

HealthCheck.objects.filter(id=1).prefetch_related(
    Prefetch(
        'person__vaccines',
        queryset=PersonVaccines.objects.select_related('person', 'person__profile', 'vaccine')
    )
)
Run Code Online (Sandbox Code Playgroud)

如何预取所有相关内容?

django django-models prefetch django-select-related

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