如何从其他App中查询Model的数据库



我有这样的模型:

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,因为我得到ImportError: cannot import name Subscription

我真的不知道该怎么做。也许我应该放弃这两个应用程序?

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

最新更新