将模型移动到模型目录后,makemigrations未检测到更改

时间:2017-05-05 20:06:48

标签: python django

我以前的旧结构是这样的:

awk_filter='''! /#/ && !seen[$1]++ { print $1 }'''

p1 = subprocess.Popen(['awk', awk_filter],
                      stdin=open('File1.txt', 'r'),
                      stdout=subprocess.PIPE)
p2 = subprocess.Popen(['sort', '-u'],
                      stdin=p1.stdout,
                      stdout=subprocess.PIPE)
p3 = subprocess.Popen(['awk', awk_filter],
                      stdin=open('File2.txt', 'r'),
                      stdout=subprocess.PIPE)
p4 = subprocess.Popen(['sort', '-u'],
                      stdin=p3.stdout,
                      stdout=subprocess.PIPE)
p5 = subprocess.Popen(['comm', '-3',
                       ('/dev/fd/%d' % (p2.stdout.fileno(),)),
                       ('/dev/fd/%d' % (p4.stdout.fileno(),))],
                      pass_fds=(p2.stdout.fileno(), p4.stdout.fileno()),
                      stdout=subprocess.PIPE)
p6 = subprocess.Popen(['tr', '-d', '\t'],
                      stdin=p5.stdout,
                      stdout=subprocess.PIPE)
result = p6.communicate()

我已将此移至

awk

完成此更改后,lines_1 = set(line.split()[0] for line in open('File1.txt', 'r') if not '#' in line) lines_2 = set(line.split()[0] for line in open('File2.txt', 'r') if not '#' in line) not_common = (lines_1 - lines_2) | (lines_2 - lines_1) for line in sorted(not_common): print line models.py class Model1 class Model2 ... 将不再检测到对模型所做的任何更改。知道如何解决这个问题吗?

编辑:

我已经转移到此:删除models.py并将modelsdir重命名为模型

现在看起来像这样:

modelsdir
   __init__.py
   model1.py
      class Model1
   model2.py
      class Model2
models.py
   from modelsdir.model1 import Model1
   from modelsdir.model2 import Model2

不幸的是,这仍然没有检测到任何变化。

1 个答案:

答案 0 :(得分:0)

我有一个以这种方式构建的django项目,我必须在modelsdir/__init__.py文件中添加它:

from .model1 import *
from .model2 import *

我也没有将原始models.py文件保留在我的顶级应用文件夹中。

这是在Django 1.10 / 1.11和Python 3上。