1
我尝试运行此代码:与管理功能复制元素
# -*- coding: utf-8 -*-
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self, *args, **options):
from blogs.models import Blog, Post
from sitename.settings import DEFAULT_CHARSET
for blog in Blog.objects.all().using('old'):
try:
Blog.objects.get(old_id=blog.id)
continue
except:
pass
new_blog = Blog(
name = blog.name,
description=blog.description,
old_id = blog.id
)
new_blog.save()
但我有例外:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
我GOOGLE了这个问题,并发现此解决方案:
name = blog.name.encode('ascii','ignore')
结果令人不安:所有俄罗斯符号已被删除。
"Пост номер 15-14" => "15-14"
我该如何正确地复制数据?