gpt4 book ai didi

mysql - django - 生产中的 manage.py 错误

转载 作者:行者123 更新时间:2023-11-30 23:18:37 24 4
gpt4 key购买 nike

我刚刚第一次使用 MySQL 作为数据库部署了一个 django 应用程序。在开发中,我使用 sqlite3 和 south 进行迁移。

我想我要使用 python manage.py syncdb 然后使用 python manage.py migrate 来初始化数据库。但是,当我在生产环境中第一次运行 python manage.py syncdb 时,出现以下错误:

DatabaseError: relation "utils_message" does not exist LINE 1: ...sage"."message_type", "utils_message"."text" FROM "utils_mes...

我可能会遗漏什么?会不会是某种循环依赖?

我的 INSTALLED_APPs 设置如下所示:

INSTALLED_APPS = (
'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions',
'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles',
'south', 'django.contrib.admin', 'mainapp', 'employerprofile', 'applicantprofile',
'companies', 'postings', 'utils', 'searchjobs', 'comments', 'projectapp',
'cart', 'applications', 'packages', 'feedback', 'cvbank', 'staffpostings',
'logs',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)

最佳答案

问题解决了。这是由模型之间的依赖性引起的。

我在 Message 上做了一个 grep,发现 postings 应用中模型中的一个字段依赖于 Message 模型的一个实例在 utils 应用程序中作为其默认值,即:

from utils.models import Message
...
default_message = Message.objects.get(message_type='application-receipt-message').text
...
class Posting(models.Model):
....
receipt_message = models.TextField(default=default_message)
...

所以我将 default_message 更改为一个空字符串,执行了 python manage.py syncdb 之后是 python manage.py migrate,并且没有'再遇到任何问题。

关于mysql - django - 生产中的 manage.py 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16506084/

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