0
models.pyでジャンゴの私のアプリでは、私は以下のモデルがあります:私はlkm.py でmodels.pyにlkmModelのインスタンスを作成しようとしているジャンゴ)PostgreSQLのモデルERROR
from django.db import models
from django.contrib.postgres.fields import *
class lkmModel(models.Model):
#Profile Image
profileUrls = ArrayField(base_field=models.TextField,size=5)
#profileUrls = models.TextField()
"""profileUrl2 = models.TextField()
profileUrl3 = models.TextField()
profileUrl4 = models.TextField()
profileUrl5 = models.TextField()"""
#Profile Basic
name = models.CharField(max_length=20)
status = models.CharField(max_length=20)
age = models.IntegerField()
residence = models.CharField(max_length=20)
bloodType = models.CharField(max_length=20)
religion = models.CharField(max_length=20)
#KEY_WORD
personaltiy = models.TextField()
appearance = models.TextField()
hobby = models.TextField()
ability = models.TextField()
idealType = models.TextField()
career = models.TextField()
best = models.TextField()
badges = ArrayField(base_field=models.CharField(max_length=10))
manual = models.TextField()
def __str__(self):
return self.name
をlkm.pyの特派コードは以下の通りです:
Traceback (most recent call last):
File "/Users/kyungmoon/projectDicrectory/project/myApp/lkm.py", line 8, in <module>
from myApp.models import lkmModel
File "/Users/kyungmoon/projectDicrectory/project/myApp/models.py", line 2, in <module>
from django.contrib.postgres.fields import *
File "/Users/kyungmoon/venv/myvenv/lib/python3.4/site-packages/django/contrib/postgres/fields/__init__.py", line 1, in <module>
from .array import * # NOQA
File "/Users/kyungmoon/venv/myvenv/lib/python3.4/site-packages/django/contrib/postgres/fields/array.py", line 207, in <module>
class ArrayLenTransform(Transform):
File "/Users/kyungmoon/venv/myvenv/lib/python3.4/site-packages/django/contrib/postgres/fields/array.py", line 209, in ArrayLenTransform
output_field = IntegerField()
File "/Users/kyungmoon/venv/myvenv/lib/python3.4/site-packages/django/db/models/fields/__init__.py", line 166, in __init__
self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE
File "/Users/kyungmoon/venv/myvenv/lib/python3.4/site-packages/django/conf/__init__.py", line 55, in __getattr__
self._setup(name)
File "/Users/kyungmoon/venv/myvenv/lib/python3.4/site-packages/django/conf/__init__.py", line 41, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
:lkm.pyが実行されると、私は以下のエラーを得た
from myApp.models import lkmModel
def createModel(self,pictures,basics,keywords,badges,manual):
lkmModelOne = lkmModel(profileUrls = pictures, name = basics[0] , status = basics[1] ,
bloodType = basics[2] , age = basics[3] , religion = basics[4] , residence = basics[5],
personality= keywords[0], appearance = keywords[1] , hobby = keywords[2] , ability = keywords[3],
idealType = keywords[4], career = keywords[5] , best = keywords[6], badges = badges , manual = manual)
lkmModelOne.save()
ご覧のとおり、postgresqlのpostgresqlとarrayFieldからのエラーです。 しかし、models.pyでは、正しい方法でlkmModelを作成しましたか?そうではありませんか?
どうしてですか?
ローカルマシンにpostgresqlをインストールし、lkmDBという名前のデータベースとそのためのテーブルを作成しました。 プロジェクトにsettings.pyに設定私のデータベースは、以下の通りです:この
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'lkmDB',
'USER': 'kyungmoon',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
ありがとうございました!私はPycharm IDEでlkm.pyを実行しました。これは 'python manage.py shell'の実行方法とは違いますか? Pycharmはすでにvirtualenvで動作しています。 – LKM
私はPycharmについて何も知らないですが、Djangoを適切に実行するための設定方法がいくつかあります。そして、申し訳ありませんが、私はあなたの2番目のコメントを全く理解できません。 –