【问题标题】:Creating fixture with block format instead of inline format in django在 django 中使用块格式而不是内联格式创建夹具
【发布时间】:2017-03-29 07:17:42
【问题描述】:

我正在使用pyyaml。 我正在使用以下命令在 django 项目中创建固定装置:

python manage.py dumpdata app.ModelName --format=yaml  > fixtures/dev/fixture_name.yaml

我得到的输出是:

- fields: {active: true, created_at: !!timestamp '2016-11-14 10:43:40.221602', age: 54,
    updated_at: !!timestamp '2016-11-14 10:43:40.221603', user_type: 1}
  model: app.ModelName
  pk: 1

我想要的是:

- fields:
    created_at: 2016-11-14 10:43:40.220895
    age: 54
    user_type: 1
    updated_at: 2016-11-14 10:43:40.220900
  model: app.ModelName
  pk: 1

我怎样才能做到这一点?

【问题讨论】:

  • manage.py的来源在哪里?

标签: django fixtures pyyaml


【解决方案1】:

manage.py 中,您调用dump()(或safe_dump() 不正确。您应该使用参数调用它

 dump(your_data, default_flow_style=False)

您还必须为 timestamp 提供一个代表,因为这不是 PyYAML 知道的类型。或者使用 PyYAML 知道如何表示它的datetime.datetime(的子类)。

【讨论】:

    猜你喜欢
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 2018-05-22
    • 2017-01-19
    • 2012-03-13
    • 2011-01-13
    相关资源
    最近更新 更多