小编Sou*_*rem的帖子

postgresql 中将 enum 类型列升级为 varchar

我的表中有一个枚举类型列。我现在决定将其设为 varchar 类型并施加一些约束。

Q1)这是一个很好的做法:使用枚举或在列上放置 constarint。

Q2)如何将我的枚举类型列更改为 varchar。正好与这个问题相反。我尝试使用这个:

ALTER TABLE tablename ALTER COLUMN columnname  TYPE VARCHAR
Run Code Online (Sandbox Code Playgroud)

但这给了我错误:No operator matches the given name and argument type(s). You might need to add explicit type casts.

这是表定义:

CREATE TABLE tablename (
    id1 TEXT NOT NULL,
    id2 VARCHAR(100) NOT NULL,
    enum_field table_enum,
    modified_on TIMESTAMP NOT NULL DEFAULT NOW(),
    modified_by VARCHAR(100),
    PRIMARY key (id1, id2)
); 
Run Code Online (Sandbox Code Playgroud)

postgresql enums

8
推荐指数
2
解决办法
5184
查看次数

无法连接到在docker容器内运行的django服务器(Docker for mac)

我有一个在我的系统上运行的docker容器,我开始使用这个命令:

docker run -it  -v ~/some/dir -p 8000:80  3cce3211b735 bash
Run Code Online (Sandbox Code Playgroud)

现在docker ps列出了这个:

    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                             NAMES
44de7549d38e        3cce3211b735        "bash"              14 minutes ago      Up 14 minutes       22/tcp, 443/tcp, 8082/tcp, 0.0.0.0:8000->80/tcp   hardcore_engelbart
Run Code Online (Sandbox Code Playgroud)

在容器内部,我使用以下命令运行我的django应用程序: python manage.py runserver 80

但我无法使用以下任何一种方式查看页面:

1.localhost:8000

2.127.0.0.1:8000

我明白我的8000端口映射到容器上的80端口.但为什么我无法访问它.我使用docker for mac而不是docker工具箱.如果您需要更多信息,请提供帮助和评论.

django docker docker-for-mac

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

Django 中的多字段外键

我在 Django 中有两个模型,定义如下。创意状态模型:

class RtbdCreativeStatus(models.Model):
    creative_id = models.CharField(max_length=500, primary_key=True)
    advertiser_id = models.CharField(max_length=100, primary_key=True)
    exposure_level = models.CharField(max_length=125)
    modified_on = models.DateTimeField()
    modified_by = models.CharField(max_length=100)


class RtbdCreative(models.Model):
    id = models.AutoField(primary_key=True)
    advertiser_id = models.ForeignKey(RtbdCreativeStatus, on_delete=models.CASCADE)
    creative_id = models.ForeignKey(RtbdCreativeStatus, on_delete=models.CASCADE)
    country_id = models.IntegerField()
    adm = models.CharField(max_length=255, null=True, blank=True)
    sample_url = models.CharField(max_length=500)
    landing_page = models.CharField(max_length=500, null=True, blank=True)
    html = models.CharField(max_length=500)
    creative_attributes = models.CommaSeparatedIntegerField(max_length=150, null=True, blank=True)
    advertiser_domains = models.CharField(max_length=500)
    description = models.CharField(max_length=500, null=True, blank=True)
    created_on = models.DateTimeField(auto_now=True, auto_now_add=True)
    creative_type = models.CharField(max_length=50, null=True, blank=True)
    demand_source_type_id = models.IntegerField()
    revalidate …
Run Code Online (Sandbox Code Playgroud)

python django postgresql

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

标签 统计

django ×2

postgresql ×2

docker ×1

docker-for-mac ×1

enums ×1

python ×1