如何在 Django fixture 中引用内容类型?
How to reference ContentType in Django's fixture?
我正在使用 django-guardian 为 Django 项目编写测试。权限的夹具如下所示:
- fields:
content_type: 10
object_pk: '2'
permission: 22
user: 1
model: guardian.userobjectpermission
pk: 1
通过 id 引用 content_type
和 permission
安全吗?还是 id 会改变(即当我添加额外的 permission/model 时)?
引用自动加载的对象的最佳方法是什么?
您应该能够使用 natural keys 来引用 content_type
和 permission
值。
- fields:
content_type: [<app_label>, <model>],
object_pk: '2'
permission: [<permission_codename>, <app_label>, <model>],
user: 1
model: guardian.userobjectpermission
pk: 1
我正在使用 django-guardian 为 Django 项目编写测试。权限的夹具如下所示:
- fields:
content_type: 10
object_pk: '2'
permission: 22
user: 1
model: guardian.userobjectpermission
pk: 1
通过 id 引用 content_type
和 permission
安全吗?还是 id 会改变(即当我添加额外的 permission/model 时)?
引用自动加载的对象的最佳方法是什么?
您应该能够使用 natural keys 来引用 content_type
和 permission
值。
- fields:
content_type: [<app_label>, <model>],
object_pk: '2'
permission: [<permission_codename>, <app_label>, <model>],
user: 1
model: guardian.userobjectpermission
pk: 1