Как ссылаться на ContentType в приспособлении Django?
Я пишу тесты для проекта Django с Django-Guardian. Крепеж для разрешений выглядит так:
- fields:
content_type: 10
object_pk: '2'
permission: 22
user: 1
model: guardian.userobjectpermission
pk: 1
Безопасно ли ссылаться content_type
а также permission
по идентификатору? Или идентификаторы собираются изменить (например, когда я добавлю дополнительное разрешение / модель)?
Каков наилучший метод для ссылки на объекты, которые загружаются автоматически?
1 ответ
Решение
Вы должны быть в состоянии использовать естественные ключи для ссылки на 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