@WH1T3_B0X

Ошибка запуска автоматизированого теста в Django?

Вот мой тест:
import datetime
from django.test import TestCase
from django.utils import timezone
from .models import Question


class QuestionModelTests(TestCase):
#tests.py
    def test_was_published_recently_with_future_question(self):
        time = timezone.now() + datetime.timedelta(days=30)
        future_question = Question(pub_date=time)
        self.assertIs(future_question.was_published_recently(), False)

Когда делаю вводpython manage.py test polls имею вот такую ошибку:
Found 1 test(s).
System check identified no issues (0 silenced).
E
======================================================================
ERROR: DJANGO_tutorial.mysite.polls.tests (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: DJANGO_tutorial.mysite.polls.tests
Traceback (most recent call last):
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\unittest\loader.py", line 436, in _find_test_path
    module = self._get_module_from_name(name)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\unittest\loader.py", line 377, in _get_module_from_name
    __import__(name)
  File "D:\PYCHARM_PROJECTS\DJANGO_tutorial\mysite\polls\tests.py", line 4, in <module>
    from .models import Question
  File "D:\PYCHARM_PROJECTS\DJANGO_tutorial\mysite\polls\models.py", line 9, in <module>
    class Question(models.Model):
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\django\db\models\base.py", line 132, in __new__
    raise RuntimeError(
RuntimeError: Model class DJANGO_tutorial.mysite.polls.models.Question doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.


----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=1)

Я предполагал, что что-то не так с моделью Question, но ничего не нашел
На крайний случай вот код модели:
from django.db import models
from django.utils import timezone
import datetime


# Create your models here.


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __str__(self):
        return self.question_text

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

PS. Это я делаю веб-приложение по Django tutorial
  • Вопрос задан
  • 234 просмотра
Решения вопроса 1
AlexNest
@AlexNest
Работаю с Python/Django
Ошибка в объявлении приложения, о чем и говорит ошибка. Проверьте instaled_apps. Возможно не вписали приложение, возможно запятую потеряли или еще что-то.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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