【问题标题】:python populate.py wont populate my databasepython populate.py 不会填充我的数据库
【发布时间】: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


【解决方案1】:

我在终端中运行了整个代码并填充了数据库

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 2022-10-06
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    相关资源
    最近更新 更多