Python 迁移时出错-psycopg2 Django
我试图在服务器上部署本地工作,但在python manage.py上运行migrate时,我遇到了psycopg2问题 设置:Python 迁移时出错-psycopg2 Django,python,django,postgresql,psycopg2,Python,Django,Postgresql,Psycopg2,我试图在服务器上部署本地工作,但在python manage.py上运行migrate时,我遇到了psycopg2问题 设置: DATABASES = { 'default':{ 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '******', 'USER': '*****', 'PASSWORD': '**********',
DATABASES = {
'default':{
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '******',
'USER': '*****',
'PASSWORD': '**********',
'HOST': '*******',
'PORT': '5432'
}
}
有问题的模型
class user(AbstractBaseUser, PermissionsMixin):
created = models.DateTimeField(auto_now_add=True)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
email = models.EmailField(unique=True)
street = models.CharField(max_length=100, null=True, blank=True)
street_num = models.CharField(max_length=10, null=True, blank=True)
unit_num = models.CharField(max_length=10, null=True, blank=True)
city = models.CharField(max_length=50, null=True, blank=True)
postal_code = models.CharField(max_length=10, null=True, blank=True)
state = models.ForeignKey(state, null=True, blank=True)
country = models.ForeignKey(country, null=True, blank=True)
phone = models.CharField(max_length=50, null=True, blank=True)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
.....
class country(models.Model):
name = models.CharField(max_length=50)
code = models.CharField(max_length=10)
class State(models.Model):
country = models.ForeignKey(country, on_delete=models.CASCADE)
name = models.CharField(max_length=50)
short_name = models.CharField(max_length=3)
group = models.CharField(max_length=2, null=True, blank=True, choices=GROUP_TYPE)
properties = models.ForeignKey(stateProperties, null=True, blank=True)
迁移文件:
我错过了什么
python manage.py makemigrations应用程序\u name
python manage.py迁移
python manage.py makemigrations应用程序\u name
python manage.py迁移
替换此:
country = models.ForeignKey(country, null=True, blank=True)
与:
我相信这应该可以做到。取代这个:
country = models.ForeignKey(country, null=True, blank=True)
与:
我相信这应该可以解决问题。我发现了问题所在。这是我的错误。我将.gitignore设置为忽略迁移文件和文件夹。因此,该国家/地区所在的迁移文件夹未发送到主分支
它是固定的。谢谢您的帮助。我发现了问题。这是我的错误。我将.gitignore设置为忽略迁移文件和文件夹。因此,该国家/地区所在的迁移文件夹未发送到主分支
它是固定的。谢谢您的帮助。为什么您认为是用户模型导致了问题?你也可以展示你的国家模型吗?此外,这两个模型是否在同一个django应用程序中?@MananMehta嘿,因为:应用profile.0001_首字母。使用sqlite开发服务器,一切都可以在本地正常工作。这只有在我使用psycopg2时才会发生。但我也加入了国家models@AndreMendes你试过我在回答中的建议了吗?为什么你认为是用户模型导致了这个问题?你也可以展示你的国家模型吗?此外,这两个模型是否在同一个django应用程序中?@MananMehta嘿,因为:应用profile.0001_首字母。使用sqlite开发服务器,一切都可以在本地正常工作。这只有在我使用psycopg2时才会发生。但我也加入了国家models@AndreMendes你试过我在回答中的建议了吗?对不起,为了解决这个问题,我把所有的都改成了小写。我所有的型号都是小写的。在所有的模型都是大写之前。对不起,我把所有的都改成了小写,试图解决这个问题。我所有的型号都是小写的。在所有模型都大写之前。谢谢你的自我回答。在我的例子中,它在本地环境中运行得非常好,但是当我想在AWS实例上部署时,它总是失败,但我不知道为什么。我了解到,当我要在远程服务器上部署服务时,迁移应该对远程服务器可见,这一点很重要。谢谢您的自我回答。在我的例子中,它在本地环境中运行得非常好,但是当我想在AWS实例上部署时,它总是失败,但我不知道为什么。我了解到,当我想在远程服务器上部署服务时,迁移应该对远程服务器可见,这一点很重要。
country = models.ForeignKey(country, null=True, blank=True)
country = models.ForeignKey(Country, null=True, blank=True)