2010-09-24 66 views
1

我有使我的模型工作的问题。这里是我的appname.misc.models文件django模型foreignkey beetwen应用程序

from django.db import models 

class user(models.Model): 
    login=models.CharField(max_length=20) 
    email=models.EmailField(max_length=50) 
    banned=models.BooleanField() 
    key=models.CharField(max_length=15) 
    rights=models.CharField(max_length=10) 
    password=models.CharField(max_length=50) 
    question=models.CharField(max_length=200) 
    answer=models.CharField(max_length=50) 
    active=models.BooleanField() 

在这里,在其他应用程序与某事像这样

from django.db import models 
from appname.misc import models as misc 
class news(models.Model): 
    title=models.SlugField() 
    shortbody=models.CharField(max_length=250) 
    fullBody=models.TextField() 
    author=models.ForeignKey('misc.user') 

当我键入manage.py sqlall新闻我得做这样 link text

我也尝试删除导入声明并尝试这样做

author=models.ForeignKey('misc.user') 

但仍然出错。 Thx提前寻求帮助。

+0

你得到了什么错误? – 2010-09-24 12:08:37

+0

http://img715.imageshack.us/img715/1698/forum2y.png我也试着根据你的帖子来做,而且错误是一样的 – John 2010-09-24 12:31:32

+0

更新了我的答案。见下文。 – 2010-09-24 12:43:03

回答

1

你可以尝试直接导入user类吗?喜欢的东西:

from appname.misc.models import user 

class news(models.Model): 
    title=models.SlugField() 
    shortbody=models.CharField(max_length=250) 
    fullBody=models.TextField() 
    author=models.ForeignKey(user) 

我也试图做到这一点,根据您的文章和错误是一样的 - 阿图尔1分钟前

OK,让我们得到的东西签出第一。

您的应用程序取决于您的设置文件中的appname部分INSTALLED_APPS

如果问题的答案是“是”,那么您可以安全地运行syncdb并应该看到创建的表。如果您仍然遇到错误,请发布详情。

+0

我已经安装了它们并执行syncdb,并且它没有抱怨就创建了表格。所以在未来如果发生类似的错误(sqlall)不关心他们?这种错误不会混淆表之间的关系或以任何负面方式影响表? Thx寻求帮助 – John 2010-09-24 12:53:21

+0

严格来说,这不是错误,而是一个警告。它说的很多。要回答您的问题,是的,您可以在将来忽略__similar__警告。 'syncdb'会正常工作。 – 2010-09-24 12:55:44

+0

好的感谢您的帮助和快速解答。 – John 2010-09-24 13:02:02