Использование
- Джанго: 1,11
- Python 3,6
- DRF: 3,7
- DREST (он же динамический отдых): 1,8
У меня есть сериализатор, написанный так:
class SubProjectAsFKWithAttachedFieldsSerializer(DynamicModelSerializer):
# attached_fields = AttachedFieldSerializer(embed=True, many=True)
try:
scope_object = UgField.objects.get(dotted_path='global.scope')
scopes = DynamicRelationField(
AttachedFieldWithDirectValuesSerializer,
source='attached_fields',
many=True,
embed=True,
read_only=True,
queryset=AttachedField.objects.filter(ug_field=scope_object)
)
except ObjectDoesNotExist:
scopes = DynamicRelationField(AttachedFieldWithDirectValuesSerializer,
source='attached_fields',
many=True,
read_only=True,
embed=True)
В настоящее время почти во всех моих tests.py
в методе setUp у меня есть
self.global_scope_field = UgFieldFactory(dotted_path='global.scope', name='Scope')
Почему-то эта строка
scope_object = UgField.objects.get(dotted_path='global.scope')
продолжает падать, несмотря на то, что я "создал", используя DjangoModelFactory
Что я должен сделать, чтобы строка всегда проходила при выполнении тестов?
UPDATE
- Просто чтобы указать, что у меня на самом деле есть запись UgField со строкой
global.scope
в качестве значения для поля dotted_path
.
- Только когда я запускаю
python manage.py test
, я сталкиваюсь с этой проблемой.
- Когда я правильно запускаю приложение, проблем нет.
Я также попытался установить
(self.global_scope_field, created) = UgField.objects.get_or_create(dotted_path='global.scope', name='Scope')
по моему setUp
методу.
но тогда я получаю ту же проблему
![enter image description here](https://i.stack.imgur.com/qUjR9.png)