如何从另一个App查询关于Model的数据库?

时间:2014-07-29 14:02:25

标签: django django-models python-import

我有这样的模特:

class Subscription(models.Model):
    visable_name = models.CharField(max_length=50, unique=True)

    recipe_name = models.CharField(max_length=50)
    website_url = models.URLField()


class User(models.Model):
    username = models.CharField(max_length=50)


class UserSubs(models.Model):
    subscription = models.ForeignKey(Subscription, to_field='visable_name')
    user = models.ForeignKey(User, to_field='username')

我想准备简单的排名,所以我想出了类似的结果:Subscription.objects.annotate(total=models.Count('usersubs')).order_by('-total')

真正的问题是我刚刚发现了我的简单排名"应该在另一个应用中,我甚至无法from FirstApp import models.Subscription,因为我得到ImportErrorcannot import name Subscription

我实际上不知道该怎么做..也许我应该放弃这两个应用程序分开?

1 个答案:

答案 0 :(得分:1)

我仍然不明白你为什么试图将它们分开,但似乎你有一个循环依赖:你的模型文件都试图互相导入。您可能需要从一侧删除导入:请注意,如果您只是导入以用作定义ForeignKey的参考,则可以使用字符串:models.ForeignKey('FirstApp.Subscription')而不是实际的类。