在Djang中将模型保存到数据库

2024-04-16 21:32:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我是django的新手,已经为一个项目工作了几个星期了。我正在制作一个django应用程序,该应用程序托管在heroku上。我想安排一个任务。最终目标是进行一系列API调用,将结果保存到模型中。在

我的应用程序中当前有一个文件计划程序.py在

from django.core.management.base import BaseCommand, CommandError

from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()

from fans.models import TotalPageLikes

@sched.scheduled_job('interval',minutes=1)
def timed_job():
    print('This job runs every minute')

@sched.scheduled_job('interval',minutes=1)
def fan_call():
    twr = TotalPageLikes()
    twr.fans = 50
    twr.save()
    print('should have saved TWR')
class Command(BaseCommand):

    def handle(self, *args, **options):

        sched.start()

在我的Procfile中我称之为

^{pr2}$

这是模型

class TotalPageLikes(models.Model):
    fans = models.BigIntegerField()

最后是我的管理员

from django.contrib import admin

# Register your models here.
from .models import Fan, Input, TotalPageLikes

admin.site.register(Fan)
admin.site.register(Input)
admin.site.register(TotalPageLikes)

所有的部署和运行都很成功,我可以用heroku日志-tail看到结果。我看到了print语句,但是当我在heroku中打开应用程序并导航到/admin时,我发现模型中没有任何内容。它没有显示保存错误,但没有正确保存。在

有人知道如何将计划作业保存到模型中吗?谢谢。在

更新 我试过用TotalPageLikes.objects.create(风扇=-1)英寸计划程序.py但是,当我在heroku中打开应用程序并导航到admin时,它仍然没有显示出来。我可以在日志中看到我正在记录它,我没有看到任何错误。在

更新

我在本地运行这个,它做了我期望的事情。赫罗库出了点事。我在不同的二极仪上运行,因为我就是这样学会的。我打算把我的模型.py看看这会不会有什么改变。在

最终更新 为此,我不得不使用PostgreSQL数据库。必要的步骤包括使用命令heroku pg:credentials:url DATABASE,然后从这里设置适当的crednetials到my设置.py在数据库中=。然后我必须创建一个新的超级用户python manage.py createsuperuser来访问我的数据库,以确认它是否正常工作。在


Tags: djangofrompy模型import应用程序herokuadmin