【发布时间】:2011-05-21 17:05:22
【问题描述】:
我真的不明白这个,所以如果有人能解释它是如何工作的,我将非常感激。我有两个应用程序,帐户和主题...这是我的设置列表:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'accounts',
'themes',
)
在帐户中,我正在尝试这样做:
from themes.models import Theme
class Account(models.Model):
ACTIVE_STATUS = 1
DEACTIVE_STATUS = 2
ARCHIVE_STATUS = 3
STATUS_CHOICES = (
(ACTIVE_STATUS, ('Active')),
(DEACTIVE_STATUS, ('Deactive')),
(ARCHIVE_STATUS, ('Archived')),
)
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=250)
slug = models.SlugField(unique=True, verbose_name='URL Slug')
status = models.IntegerField(choices=STATUS_CHOICES, default=ACTIVE_STATUS, max_length=1)
owner = models.ForeignKey(User)
enable_comments = models.BooleanField(default=True)
theme = models.ForeignKey(Theme)
date_created = models.DateTimeField(default=datetime.now)
在我的主题模型中:
class Theme(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=250)
slug = models.SlugField(unique=True, verbose_name='URL Slug')
date_created = models.DateTimeField(default=datetime.now)
class Stylesheet(models.Model):
id = models.AutoField(primary_key=True)
account = models.ForeignKey(Account)
date_created = models.DateTimeField(default=datetime.now)
content = models.TextField()
Django 正在踢出以下错误:
from themes.models import Theme
ImportError: cannot import name Theme
这是某种循环导入问题吗?我尝试过使用惰性引用,但这似乎也不起作用!
【问题讨论】:
-
看起来确实是循环导入的问题。为什么需要从定义
Theme的模块中导入Account? -
对不起,我没有正确粘贴我的主题模型,我已经更新了我的帖子。我在 Stylesheet 类中使用它。
标签: django django-models