标签: customcolumn

迁移django-model字段名称更改而不会丢失数据

我有一个django项目,其中包含一个已包含数据的数据库表.我想更改字段名称而不会丢失该列中的任何数据.我最初的计划是简单地以一种实际上不会改变db表名称的方式更改模型字段名称(使用db_columncolumn参数):

原型号:

class Foo(models.Model):
  orig_name = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)

新型号:

class Foo(models.Model):
  name = models.CharField(max_length=50, db_column='orig_name')
Run Code Online (Sandbox Code Playgroud)

但是,运行South's schemamigration --auto会生成一个删除原始列的迁移脚本orig_name,并添加一个新列name,这会产生删除该列中数据的不良副作用.(我也很困惑为什么South想要更改db中列的名称,因为我对db_column的理解是它允许更改模型字段名而不更改数据库表列的名称).

如果我无法在不更改db字段的情况下更改模型字段,我想我可以做更直接的名称更改,如下所示:

原型号:

class Foo(models.Model):
  orig_name = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)

新型号:

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

无论我最终使用哪种策略(我更喜欢第一种,但会发现第二种可接受),我主要担心的是确保我不会丢失该列中已有的数据.

这需要一个多步骤的过程吗?(例如1.添加列,2.将数据从旧列迁移到新列,以及3.删除原始列)或者我可以使用类似的方式更改迁移脚本db.alter_column吗?

更改列名称时保留该列中数据的最佳方法是什么?

django-models customcolumn django-south custom-fields

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

在Wordpress管理页面中对自定义列进行排序

我正在尝试在管理编辑屏幕中对自定义列进行排序.该列包含一个整数值(投票计数).

要生成列,我使用这个"标准"代码:

add_filter( 'manage_edit-entries_sortable_columns', 'cutify_entries_columns_sortable' );
function cutify_entries_columns_sortable( $columns ) 
{
    $columns['entry_vote_count'] = 'entry_vote_count';
    return $columns;
}

add_filter( 'manage_entries_posts_columns', 'cutify_entries_columns_head' );
function cutify_entries_columns_head($defaults) 
{
    unset( $defaults['date'] );
    $defaults['entry_vote_count'] = 'Votes';
    return $defaults;
}

add_action('manage_entries_posts_custom_column', 'cutify_entries_columns_content', 10, 2);
function cutify_entries_columns_content($column_name, $post_ID) 
{
    if ($column_name == 'entry_vote_count') 
    {
        $number = rand(1,1000);

        print intVal($number);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是尝试对此列进行排序.我已经在这里和其他网站上阅读了很多答案,如果值来自post_meta,我知道如何排序,但正如你所看到的,在这种情况下,值来自函数调用的返回值.

是否有任何方法可以根据post_meta值对自定义列进行排序?

wordpress customcolumn

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

Kubernetes 列出所有未运行的容器

如何使用Kubectl命令列出所有未运行的容器。我想要像这样的输出

CONTAINER_NAME   STATUS        POD_NAME       NAMESPACE <br>
container_1      Running       pod_1          ns1       <br>
container_2      Not Running   pod_2          ns2       <br>
container_3      Running       pod_2          ns2       <br>
Run Code Online (Sandbox Code Playgroud)

customcolumn jsonpath kubernetes kubectl

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