Estoy tratando de dividir el models.py
de mi aplicación en varios archivos:models.py dividirse en varios archivos
Mi primera suposición era hacer esto:
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
esto no funciona, entonces i encontrado this, pero en esta solución todavía tengo un problema, cuando corro python manage.py sqlall app1
tengo algo así como:
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;
no estoy muy seguro de esto, pero me preocupa una boout la parte The following references should be added but depend on non-existent tables:
Este es mi archivo model1.py:
from django.db import models
class Store(models.Model):
class Meta:
app_label = "store"
Este es mi archivo 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"
Y al parecer funciona, pero me dieron el comentario en alter table
y si Intento esto, sucede lo mismo:
class Product(models.Model):
store = models.ForeignKey('store.Store')
class Meta:
app_label = "product"
Entonces, debería Ejecuto el alter para referencias manualmente? esto puede traerme problemas con el sur?
¿Qué sucede en el modelo 3 si intenta 'from app1.models.model1 import Store'? –
También es posible que desee comprobar http://stackoverflow.com/questions/5534206/how-do-i-separate-my-models-out-in-django/5534251#5534251 –