Django fixtures:UnicodeEncodeError

时间:2013-05-22 16:14:48

标签: django unicode yaml fixtures

我有一个Django模型,就像这样:

class Employee(models.Model):
    user = models.OneToOneField(User)
    name = models.CharField(max_length=30)

(用户是django.contrib,auth用户)

我正在尝试在yaml fixture中将数据加载到我的Postgres数据库中,这里是代码:

-   model: auth.User
    pk: 1
    fields:
        username: admin
        password: 'pbkdf2_sha256$10000$7H9GitTtDND4$XWUCV1jgEU0QZbbitGXJrp5tcEEPRYS6WYVfdm3AcXo='

-   model: rbac.Employee
    pk: 1
    fields:
        user: 1
        name: admin

问题是,当我运行./manage.py loaddata fixture.yaml时,我收到错误:

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/tomus/dev/bsk/venv/lib/python2.7/site-    packages/django/core/management/__init__.py", line 453, in execute_from_command_line
    utility.execute()
  File "/home/tomus/dev/bsk/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/tomus/dev/bsk/venv/lib/python2.7/site-packages/django/core/management/base.py", line 229, in run_from_argv
        stderr.write('%s: %s' % (e.__class__.__name__, e))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 94-95: ordinal not in range(128)

我尝试将fixtures文件的编码更改为ascii,没有效果。

0 个答案:

没有答案