在学习 Django 的背景下,我需要使用 Faker 模块用随机数据填充 Sqlite。在 models.py 下创建了几个模型:from django.db import modelsclass Topic(models.Model): top_name = models.CharField(max_length=264,unique=True) def __str__(self): return self.top_nameclass Webpage(models.Model): topic = models.ForeignKey(Topic,on_delete=models.DO_NOTHING) name = models.CharField(max_length=264,unique=True) url = models.URLField(unique=True) def __str__(self): return self.nameclass AccessRecord(models.Model): name = models.ForeignKey(Webpage,on_delete=models.DO_NOTHING) date = models.DateField() def __str__(self): return str(self.date)为了随机填充这些模型,我使用以下脚本 (populate_first_app.py):import osos.environment.setdefault('DJANGO_SETTINGS_MODULE','first_project.settings')import djangodjango.setup()##FAKE POP SCRIPTimport randomfrom first_app.models import AccessRecord,Webpage,Topicfrom faker import Fakerfakegen = 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 tdef populate(N=5): for entry in range(N): top = add_topic() fake_url = fakegen.url() fake_date = fakegen.date() fake_name = fakegen.company() webpg = Webpage.objects.get_or_create(topic=top,url=fake_url,name=fake_name)[0] acc_rec = AccessRecord.objects.get_or_create(name=webpg,date=fake_date)[0]if __name__ == '__main__': print('populating script!') populate(20) print('populating complete')当我运行 populate_first_app.py 时,出现以下错误:AttributeError:模块 'os' 没有属性 'environment'使用 Visual Studio Code (v1.39.2),我被卡住了。可视代码在以下几行中突出显示错误:t = Topic.objects.get_or_create(top_name=random.choice(topics))[0]“主题”类没有“对象”成员pylint(无成员)我使用以下命令安装了 pylint:pip3 install pylint-django但还是卡住了。
1 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
调用应该是
os.environ.setdefault('DJANGO_SETTINGS_MODULE','first_project.settings')
有关更多详细信息,您可以查看以前的问题,例如: 使用 os.environ.setdefault 是否安全?
添加回答
举报
0/150
提交
取消