在使用JSONField与Django和Postgres时,我设置了一个默认值
{
"custom_value_a": "foo",
"custom_value_b": "bar"
}
考虑一段时间后我想通过在其中添加另一个键来更改字段的默认值
"custom_value_c": "oof"
执行此操作的一种方法是运行一个脚本,该脚本遍历所有记录并更新JSONField以在数据库中的所有记录中包含key:value。
是否还有其他方法可以通过Django ORM更新它。
答案 0 :(得分:0)
from django.contrib import admin
@admin.register(TheModel)
class TheModelAdmin(admin.ModelAdmin):
actions = ['custom_action']
def custom_action(self, request, queryset):
queryset.update(json_fld__custom_value_c='oof')