如何在Django的fixture中引用ContentType?

时间:2015-07-09 07:29:25

标签: django django-fixtures django-guardian

我正在用django-guardian为Django项目编写测试。权限的Fixture如下所示:

- fields:
    content_type: 10
    object_pk: '2'
    permission: 22
    user: 1
  model: guardian.userobjectpermission
  pk: 1

通过ID引用content_typepermission是否安全?或者ids会改变(即当我添加额外的权限/模型时)?

引用自动加载的对象的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

您应该可以使用natural keys来引用content_typepermission值。

- fields:
    content_type: [<app_label>, <model>],
    object_pk: '2'
    permission: [<permission_codename>, <app_label>, <model>],
    user: 1
  model: guardian.userobjectpermission
  pk: 1