首页 > 其他 > 详细

django 添加字段, migrate时候生成一个默认值

时间:2020-06-22 18:00:55      阅读:100      评论:0      收藏:0      [点我收藏+]


参考 https://stackoverflow.com/questions/29787853/django-migrations-add-field-with-default-as-function-of-model
在migrations文件中添加自定义函数。

# Generated by Django 3.0.7 on 2020-06-19 09:57

from django.db import migrations, models

from cookies.models import Cookies
from django.contrib.gis.geoip2 import GeoIP2

def set_my_defaults(apps, schema_editor):
Cookies = apps.get_model(‘cookies‘, ‘Cookies‘)
for cookie in Cookies.objects.all().iterator():
g = GeoIP2()
cookie.country = g.country_name(cookie.ip)
cookie.save()

def reverse_func(apps, schema_editor):
pass # code for reverting migration, if any


class Migration(migrations.Migration):

dependencies = [
(‘cookies‘, ‘0002_auto_20200612_1052‘),
]

operations = [
migrations.AddField(
model_name=‘cookies‘,
name=‘country‘,
field=models.CharField(max_length=300, null=True),
),
migrations.RunPython(set_my_defaults, reverse_func),
]

django 添加字段, migrate时候生成一个默认值

原文:https://www.cnblogs.com/cute/p/13177601.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!