我有这样的模特:
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
。
我实际上不知道该怎么做..也许我应该放弃这两个应用程序分开?
答案 0 :(得分:1)
我仍然不明白你为什么试图将它们分开,但似乎你有一个循环依赖:你的模型文件都试图互相导入。您可能需要从一侧删除导入:请注意,如果您只是导入以用作定义ForeignKey的参考,则可以使用字符串:models.ForeignKey('FirstApp.Subscription')
而不是实际的类。