【发布时间】:2020-08-13 01:35:12
【问题描述】:
在编写以下代码并期望输出是具有随机名称、网站等的更新数据库后,我没有收到错误消息,也没有更新数据库
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'First_project.settings')
import django
django.setup()
import random
from first_app.models import AccessRecord,Webpage,Topic
from faker import Faker
fakegen = Faker()
topics = ['Search','Social','Marketplace','News','Games']
def add_topic():
t = Topic.object.get_or_create(top_name=random.choice(topics))[0]
t.save()
return t
def 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_ur, name=fake_name)[0]
acc_rec = AccessRecord.object.get_or_create(name=webpg,date=fake_date)[0]
if __name__ == ' __main__':
print("populate")
populate(20)
print("populating complete!")
请问我该怎么办?
【问题讨论】:
-
您是否尝试过将脚本转换为管理命令?或者尝试使用
python manage.py shell < my_script.py运行它。在这两种情况下,您都不需要django.setup()或设置DJANGO_SETTINGS_MODULE。 -
您是否在调试器中跟踪代码的执行?您是否仔细检查过您访问的是同一个数据库?您是否检查了
get_or_create调用结果的第二个元素(created标志)? -
我对 django 有点陌生,我正在学习一门课程,但该课程是很久以前的,有时我会遇到并发症。
标签: django python-3.x faker