как исправить класс ['classname'] не имеет члена объекта в VSCode при запуске файла заполнения в django - PullRequest
0 голосов
/ 10 июля 2019

Я заполняю скрипт в Django, запустив «python populate_project_2_app.py» в терминале.Но я получаю эти ошибки

    1- Unable to import 'faker'pylint(import-error)
    2- Class 'Topic' has no 'objects' member pylint(no-member)

Вот что отображается на моем терминале после запуска python populate_project_2_app.py '

C: \ MyDjangoDev \ Project_2> python populate_project_2_app.py python:невозможно открыть файл 'populate_project_2_app.py': [Errno 2] Нет такого файла или каталога

C: \ MyDjangoDev \ Project_2> cd project_2

C: \ MyDjangoDev \ Project_2 \ project_2>python populate_project_2_app.py Файл "populate_project_2_app.py", строка 6 os.environ.setdefault ('DJANGO_SETTINGS_MODULE', 'project_2.settings') settings.configure () ^ Синтаксическая ошибка: недопустимый синтаксис

C: \evDProject_2 \ project_2> python populate_project_2_app.py Traceback (последний вызов был последним): файл "populate_project_2_app.py", строка 2, из файла project_2_app.models, импорт AccessRecord, веб-страница, файл темы "C: \ MyDjangoDev \ Project_2 \ project_2 \ project_2_app"models.py ", строка 6, в классе Topic (models.Model): Файл" C: \ Users \ iam_xamuel \ Miniconda3 \ lib \ site-packages \ django \ db \ models \ base.py ", строка103, в new app_config = apps.get_conisting_app_config (module) Файл "C: \ Users \ iam_xamuel \ Miniconda3 \ lib \ site-packages \ django \ apps \ registry.py", строка 252, в собственной строке get_conisting_app_config.check_apps_ready () Файл "C: \ Users \ iam_xamuel \ Miniconda3 \ lib \ site-packages \ django \ apps \ registry.py", строка 134, в настройках check_apps_ready.INSTALLED_APPS "C: \ Users \ iam_xamuel \ Miniconda3 \ lib\ site-packages \ django \ conf__init __. py ", строка 79, в getattr self._setup (name) Файл" C: \ Users \ iam_xamuel \ Miniconda3 \ lib \ site-packages \ django \ conf__init__.py ", строка 64, в _setup% (desc, ENVIRONMENT_VARIABLE)) django.core.exceptions.ImproperlyConfigured: запрашивается параметр INSTALLED_APPS, но параметры не настроены.Вы должны либо определить переменную окружения DJANGO_SETTINGS_MODULE, либо вызвать settings.configure (), прежде чем получить доступ к настройкам.

Ниже приведен заполняющий скрипт

from project_2_app.models import AccessRecord, Webpage, Topic
import random
import django
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_2.settings')

django.setup()

# settings.configure()

# Fake Population Script

fake_generation = Faker()
topics = ['Search', 'Social', 'Marketplace', 'News', 'Games']


def add_topic():
    t = Topic.objects.get_or_create(top_name=random.choice(topics))[0]
    t.save()
    return t


def populate(N=5):

    for entry in range(N):

        # Get the topic for the entry
        top = add_topic()

        # Create the fake data for that entry
        fake_url = fake_generation.url()
        fake_date = fake_generation.date()
        fake_name = fake_generation.company()

        # Create the new webpage entry
        webpg = Webpage.objects.get_or_create(
            topic=top, url=fake_url, name=fake_name)[0]

        # Create a fake access record for that webpage
        acc_rec = AccessRecord.objects.get_or_create(
            name=webpg, date=fake_date)[0]


if __name__ == "__main__":
    print("Populating Scripts!!!")
    populate(20)
    print("Pupolating Complete!!!")

Я ожидаю, что вывод будет «заполнением скриптов» и«заполнение заполнено» отображается на моем терминале без ошибок.

...