gpt4 book ai didi

python - Django 与 Heroku : Getting started

转载 作者:行者123 更新时间:2023-11-29 13:56:02 28 4
gpt4 key购买 nike

所以我一直在阅读 Heroku 的开发中心,在 Stack Overflow 上,整个互联网上,我不知道如何让我的 Django 项目在 Heroku 上工作。

我的主要问题是让 Postgres 数据库正常工作。我运行 heroku run python manage.py syncdb 它说它进行迁移甚至创建 super 用户,但是当我进入我部署的应用程序时我得到了臭名昭着的“关系不存在”错误。

阅读周围我发现你必须在我的本地机器上使用我的本地数据库运行 python manage.py migrate 然后运行 ​​heroku run python manage.py syncdbheroku run python manage.py migrate。我很困惑是否确实如此,以及当我使用 virtualenv 时是否仍然如此。

编辑:这是抛出“关系不存在错误”的相关 View 以及使用的相应模型。

模型.py

class Location(models.Model):
name = models.CharField(max_length=100)
route = models.ForeignKey('Route', null=True, blank=True)

client = models.CharField(max_length=50)

def __unicode__(self):
return u'%s, route: %s' % (self.name, self.route)


class Route(models.Model):
name = models.CharField(max_length=100)

client = models.CharField(max_length=50)

def __unicode__(self):
return u'%s' % self.name

序列化器.py

from rest_framework import serializers
from .models import Route, Location


class LocationSerializer(serializers.ModelSerializer):
class Meta:
model = Location
fields = ('pk', 'client', 'name')


class RouteSerializer(serializers.ModelSerializer):
location_set = LocationSerializer(many=True)

class Meta:
model = Route
fields = ('pk', 'client', 'name', 'location_set')

views.py

from .models import Location, Route
from .serializers import RouteSerializer, LocationSerializer
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status

class RouteList(APIView):
def get(self, request, format=None):
client = request.user.groups.all()[0]

routes = Route.objects.filter(client=client)
serializer = RouteSerializer(routes, many=True)
return Response(serializer.data)

最佳答案

我认为您没有为您的应用程序模型包括迁移。如果您使用的是 django 1.8,则可以运行以下命令在本地生成迁移,

python manage.py makemigrations

将迁移添加到 git 并部署到 heroku。在 heroku 上运行迁移,

heroku run bash -a 'HEROKU_APP_NAME'
python manage.py migrate

如果您使用的是 django,则不应使用 syncdb>=1.7,因为它是 deprecated对于 django<1.7 使用 south migrations 而不是 django default.

关于python - Django 与 Heroku : Getting started,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31772683/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com