В настоящее время я использую Python 3.7.4 и Django 2.2.5, но я сталкиваюсь со следующими проблемами, и у меня нет никакой подсказки:
Класс 'Тема' имеетнет элемента "объекты" (нет элемента)
то же самое для "веб-страницы" и "AccessRecord". А также ...
Экземпляр 'Generator' не имеет идентификатора члена 'url' (нет члена)
То же самое для 'date' & 'company'. ..
Файл: first_project / populate_first_app.py (завершено)
import os,sys
os.environ.setdefault('DJANGO_SETTINGS_MODULES','first-project.settings')
import django
django.setup()
# FAKE POP SCRIPT
import random
from first_app.models import AccessRecord,Topic,Webpage
from faker import Faker
fakegen = Faker()
topics = ['Search','Marketplace','Social','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 an entry
fake_url = fakegen.url()
fake_date = fakegen.date()
fake_name = fakegen.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 script!")
populate(20)
print("populating complete!")
И код, который я написал в Файл: first_app / models.py
from django.db import models
# Create your models here.
class Topic(models.Model):
top_name = models.CharField(max_length = 264, unique = True)
def __str__(self):
return self.top_name
class Webpage(models.Model):
topic = models.ForeignKey(Topic,on_delete = models.PROTECT)
name = models.CharField(max_length = 264, unique = True)
url = models.URLField(unique = True)
def __str__(self):
return self.name
class AccessRecord(models.Model):
name = models.ForeignKey(Webpage,on_delete=models.PROTECT)
date = models.DateField()
def __str__(self):
return str(self.date)
Я пытался добавить Pylint Args, как указано в некоторых решениях онлайн, но это только усложнило ситуацию. Поэтому я просто отключил Pylint в пользовательских настройках VSCode> Extension> Python, затем для проверки своего скрипта я запустил python populate_first_app.py
... просто чтобы убедиться, что все работает, но эта ошибка высветилась.
django. core.exceptions.ImproperlyConfigured: запрошенный параметр INSTALLED_APPS, но параметры не настроены. Вы должны либо определить переменную окружения DJANGO_SETTINGS_MODULE, либо вызвать settings.configure (), прежде чем получить доступ к настройкам.
Я не уверен, в чем я ошибаюсь. Я просто пытаюсь заполнить данные с помощью Faker ... Буду признателен за любую помощь, пожалуйста, объясните это немного подробнее, это шаг за шагом, так как я только начинающий.