models.py
내 앱을 여러 파일로 분할하려고 합니다.
내 첫 번째 추측은 다음과 같습니다.
myproject/
settings.py
manage.py
urls.py
__init__.py
app1/
views.py
__init__.py
models/
__init__.py
model1.py
model2.py
app2/
views.py
__init__.py
models/
__init__.py
model3.py
model4.py
이것은 작동하지 않는 다음 이것을 찾았 지만이 솔루션에서는 여전히 문제가 있습니다. 실행하면 python manage.py sqlall app1
다음과 같은 결과가 나타납니다.
BEGIN;
CREATE TABLE "product_product" (
"id" serial NOT NULL PRIMARY KEY,
"store_id" integer NOT NULL
)
;
-- The following references should be added but depend on non-existent tables:
-- ALTER TABLE "product_product" ADD CONSTRAINT "store_id_refs_id_3e117eef" FOREIGN KEY ("store_id") REFERENCES "store_store" ("id") DEFERRABLE INITIALLY DEFERRED;
CREATE INDEX "product_product_store_id" ON "product_product" ("store_id");
COMMIT;
나는 이것에 대해 잘 모르겠지만 부분이 걱정됩니다. The following references should be added but depend on non-existent tables:
이것은 내 model1.py 파일입니다.
from django.db import models
class Store(models.Model):
class Meta:
app_label = "store"
이것은 내 model3.py 파일입니다.
from django.db import models
from store.models import Store
class Product(models.Model):
store = models.ForeignKey(Store)
class Meta:
app_label = "product"
그리고 분명히 작동하지만 코멘트를 alter table
받았으며 이것을 시도하면 똑같은 일이 발생합니다.
class Product(models.Model):
store = models.ForeignKey('store.Store')
class Meta:
app_label = "product"
그렇다면 참조를 위해 변경을 수동으로 실행해야합니까? 이것은 나에게 남쪽 문제를 가져올 수 있습니까?
from app1.models.model1 import Store
합니까?