Подтвердить что ты не робот

Тестеры и типы контента Django

Я использую django ContentType внешний ключ в моей модели, и я использую его в приборах для модульных тестов.

Поэтому мне нужно жестко закодировать content_type_id в моем приложении, но django иногда инициализирует его другим значением и, следовательно, мои тесты терпят неудачу.

Итак, есть ли способ безопасно предсказать content_type_id модели или любой другой правильный способ обработки таких ситуаций?

4b9b3361

Ответ 1

Используйте естественные клавиши: https://docs.djangoproject.com/en/dev/topics/serialization/#natural-keys

Большая часть документации относится к тому, как добавить возможность к вашим собственным моделям, но ContentType уже поддерживает их, поэтому просто добавьте --natural-foreign к вашей команде управления dumpdata:

$ python manage.py dumpdata myapp --indent=4 --natural-foreign