Raise FieldError("Cannot resolve keyword '%s' into field. " django.core.exceptions.FieldError: Cannot resolve keyword
Привет ребята я не могу заполнить свою базу данных фиктивными данными.Масштаб ошибки я получил такой: (raise FieldError("Cannot resolve keyword '%s' into field. " django.core.exceptions.FieldError: Cannot resolve keyword 'Topic' into field. Чой ключевые слова: accessrecord, date, id, name, topic_name, topic_name_id, url
Ниже приведены коды для генерации фиктивных данных с помощью Faker
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE','first_project.settings')
import django
django.setup()
# faker pop script
import random
from first_app.models import AccessRecord,Webpage,Topic
from faker import Faker
fakegen = Faker()
topics = ['Search', 'Social', 'Marketplace', 'News', 'Games', 'Music']
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):
# iget the topic for the entry
top = add_topic()
# create fake data for that 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 fake access record for 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!")
Вы использовали неправильное имя поля для Webpage
объекта, оно должно быть topic_name
вместо Topic
webpg = Webpage.objects.get_or_create(topic_name =top,url=fake_url,name=fake_name)