@Woshibai1

Надежный способ достать созданный пост в тесте формы django?

test_forms.py:
def test_edit_post_form(self):
        """Валидная форма редактирует запись в Post."""
        posts_count = Post.objects.count()
        form_data = {
            'text': '321Пост изменен',
            'group': f'{self.group.id}'
        }
        response = self.authorized_client.post(
            self.POST_EDIT_URL,
            data=form_data
        )
        ...

Нужен надёжный способ достать созданный пост, чтобы проверить его поля(Сортировка по id/дате не годится). Буду очень благодарен за помощь
  • Вопрос задан
  • 281 просмотр
Пригласить эксперта
Ответы на вопрос 1
@deliro
1. В ответе на создание поста где-то отдавать ид созданного: урл редиректа вида /posts/1234/, в жисоне, а если ответ этого не подразумевает, то можно в заголовке или ставить в сессию (вариант с заголовком лучше)
2. При создании поста сохранять какой-нибудь last_post_id юзера (тоже подвержен состояниям гонки, как и фильтрация по дате/ид)
3. Ставить уровень изолированности транзакций выше read committed (repeatable read или serializable)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы