Ошибка импорта в учебном пособии по django

#python #django #import

#python #django #импорт

Вопрос:

Я пытаюсь следовать руководству по django и создать две таблицы, в которых уникальный ключ table1 может несколько раз появляться в table2 (у которого другой уникальный ключ)

 CREATE TABLE "apples" (
    "id1" integer NOT NULL PRIMARY KEY,
    "value1" varchar(400) NOT NULL,
)
;
CREATE TABLE "oranges" (
    "id2" integer NOT NULL PRIMARY KEY,
    "id1" integer NOT NULL REFERENCES "MyApp_apples" ("id"),
    "value2" datetime NOT NULL,
)
  

при попытке запустить:

 import package
from package import MyApp
from package.MyApp import models
from package.MyApp import apples, oranges
p = apples.objects.get(id=1)
p.oranges_set.create(value2="2168164000000")
  

Я получаю стек ошибок (я публикую только конец, если вам нужно больше, скажите мне, пожалуйста):

   File "/usr/lib/pymodules/python2.7/django/utils/translation/trans_real.py", line 162, in _fetch
    app = import_module(appname)
  File "/usr/lib/pymodules/python2.7/django/utils/importlib.py", line 35, in import_module
    __import__(name)
ImportError: No module named MyApp
  

Я предполагаю, что это проблема с импортом, но как мне ее решить?

Комментарии:

1. Можете ли вы рассказать нам что-нибудь о задействованных файлах / папках?

Ответ №1:

Если package это название проекта и MyApp приложение для этого проекта, вам не нужно импортировать пакет в свои файлы, вы можете просто:

 from MyApp.models import apples, oranges

p = apples.objects.get(id=1)
...
  

Это тоже ошибка:

 from MyApp import models
from MyApp import apples, oranges // ImportError
  

apples и oranges находятся внутри вашего models.py

Возможно, вам также нужно прочитать о модулях и пакетах.

Надеюсь, это поможет!