小编use*_*680的帖子

如何使用数据为现有模型中的新模型字段设置默认值

我有一个带有两个字段的小型 django 模型。数据库中已有此模型的数据。

class MetaDataValue(Model):
    metadata_id = models.ForeignKey(MetaData, on_delete=models.CASCADE,)
    value = models.CharField('value', max_length=200,)
Run Code Online (Sandbox Code Playgroud)

我需要添加另一个字段,

short_value = models.CharField('short_value', max_length=200,)
Run Code Online (Sandbox Code Playgroud)

我知道当我执行迁移时,它会抱怨,因为我没有数据库中现有行的默认值。

有没有办法为数据库/模型中已经存在short_valuevalue字段中的字符串设置默认值?

我想这样做是因为我只需要为short_value数据库中的大约 20 行创建一个不同的,并且这个字段没有通用的默认值。我宁愿不在short_value字段中使用“fred”或“default”之类的东西,因为有些字段有数字,有些有文本,有些有数字和文本的组合。我也想过创建一个属性而不是另一个模型字段,但是没有一种简单的方法可以将value字段转换为short_value字段。

谢谢!

django django-models

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

Celery 无法连接到 redis 服务器

我有一个使用 celery==4.2.1、redis==2.10.6、redis-server=4.0.9 的 django 2.0.5 应用程序。当我启动 celery worker 时,我得到以下输出:

-------------- celery@octopus v4.2.1 (windowlicker)
---- **** ----- 
--- * ***  * -- Linux-4.18.16-surface-linux-surface-x86_64-with-Ubuntu-18.04-bionic 2018-10-31 17:33:50
-- * - **** --- 
- ** ---------- [config]
- ** ---------- .> app:         MemorabiliaJSON:0x7fd6c537b240
- ** ---------- .> transport:   amqp://guest:**@localhost:5672//
- ** ---------- .> results:     disabled://
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** ----- 
 -------------- [queues] …
Run Code Online (Sandbox Code Playgroud)

django redis celery

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

标签 统计

django ×2

celery ×1

django-models ×1

redis ×1