![](/img/trans.png)
[英]django.core.exceptions.FieldError: Cannot resolve keyword 'timestamp' into field
[英]raise FieldError("Cannot resolve keyword '%s' into field. " django.core.exceptions.FieldError: Cannot resolve keyword
我无法用虚拟数据填充我的数据库。 我得到的错误的规模是:(raise FieldError(“无法将关键字'%s'解析为字段。” django.core.exceptions.FieldError:无法将关键字'主题'解析为字段。选择是:访问记录,日期,ID , 名称, 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!")
Model 代码如下
from django.db import models
# Create your models here.
class Topic(models.Model):
id = models.AutoField(primary_key=True)
top_name = models.CharField(max_length=264,unique=True)
def __str__(self):
return self.top_name
class Webpage(models.Model):
id = models.AutoField(primary_key=True)
topic_name= models.ForeignKey(Topic, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
url = models.URLField(unique=True)
date = models.DateField()
def __str__(self):
return self.name
class AccessRecord(models.Model):
id = models.AutoField(primary_key=True)
name = models.ForeignKey(Webpage, on_delete=models.CASCADE)
date = models.DateField()
def __str__(self):
return str(self.date)
您为Webpage
object 使用了错误的字段名称,它应该是topic_name
而不是Topic
,所以:
webpg = Webpage.objects.get_or_create(topic_name =top,url=fake_url,name=fake_name)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.