这里是我的情况:SubCategory
有Topic
和Topic
的外键有SubCategory
的外键。Django模式中的外键
class SubCategory(models.Model):
name = models.CharField(max_length=100)
slug = models.SlugField(max_length=110)
description = models.TextField(default='')
ordering = models.PositiveIntegerField(default=1)
category = models.ForeignKey(Category)
created_on = models.DateTimeField(auto_now_add=True)
created_by = models.ForeignKey(User)
updated_on = models.DateTimeField(blank=True, null=True)
updated_by = models.ForeignKey(User, related_name='+')
num_topics = models.IntegerField(default=0)
num_posts = models.IntegerField(default=0)
last_topic = models.ForeignKey(Topic, related_name='+')
class Topic(models.Model):
name = models.CharField(max_length=300)
slug = models.SlugField(max_length=300)
description = models.TextField(default='')
subcategory = models.ForeignKey(SubCategory)
created_on = models.DateTimeField(auto_now_add=True)
created_by = models.ForeignKey(User)
updated_on = models.DateTimeField(blank=True, null=True)
updated_by = models.ForeignKey(User, related_name='+')
当我运行这段代码,它提供了以下错误:
NameError: name 'Topic' is not defined.
任何人能告诉我如何解决它?
语言,如C++有提前声明的特征。 Python有类似的东西吗? –
@Phoenix,不完全是,但可以使用__init__关闭。请参阅编辑。 – papirrin