Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:如何从另一个模块中的定义创建模型_Django_Django South_Django Orm_Django Syncdb - Fatal编程技术网

Django:如何从另一个模块中的定义创建模型

Django:如何从另一个模块中的定义创建模型,django,django-south,django-orm,django-syncdb,Django,Django South,Django Orm,Django Syncdb,假设我有这个Django设置: appA - models.py - views.py - etc... global - models.py 我想要的是从appA.models中的global.models导入模型,以便syncdb和south将它们视为正常的appA模型 global.models: from django.db import models class Foo(models.Model): #django model stuff appA.m

假设我有这个Django设置:

appA - models.py
     - views.py
     - etc...

global - models.py
我想要的是从
appA.models
中的
global.models
导入模型,以便syncdb和south将它们视为正常的
appA
模型

global.models:

from django.db import models
class Foo(models.Model):
    #django model stuff
appA.models: 尝试1:

尝试2:

from global.models import Foo

class Foo(Foo):
    pass

>>manage.py schemamigration appA --auto
>>Error: One or more models did not validate:
>>appA.Foo: 'foo_ptr' has a relation with model <class 'global.models.Foo'>, which has either not been installed or is abstract.
来自global.models导入Foo
Foo类(Foo):
通过

>>manage.py模式迁移appA--自动 >>错误:一个或多个模型未验证: >>appA.Foo:'Foo_ptr'与尚未安装或是抽象的模型有关系。

实现这一点的正确方法是什么?

global是一个python语句,您不应该使用它来命名您的包。尝试使用其他名称,不要忘记在目录中放置一个
\uuu init\uuuuuuuuuuuuupy
文件以将其转换为python包。

>manage.py schemamigration appA--auto->Deleted model appA.Foo>>创建了0005\u auto\u del\u Foo.py。您现在可以使用:./manage.py migrate runengine应用此迁移为什么不将您的Foo作为抽象?
from .models import Foo

class Foo(models.Model):
    #stuff

    class Meta:
        abstract = True
from .models import Foo

class Foo(models.Model):
    #stuff

    class Meta:
        abstract = True