我有两个模型,每个都有ForeginKey到其他模式,当服务器尝试运行它时我遇到问题,因为它没有看到其他因为只有一个被定义。
有没有可能有这个并运行服务器没有错误?
Model.py:
class Task(models.Model):
comment = models.ForeignKey(Comment, blank=True, null=True)
deadline_date = models.DateField(null=True, blank=True)
created_date = models.DateTimeField(auto_now_add=True, editable=False)
finished_date = models.DateTimeField(null=True, blank=True)
modified_date = models.DateTimeField(auto_now=True, editable=False)
(...)
class Comment(models.Model):
user = models.ForeignKey(User, on_delete=models.PROTECT, blank=True, null=True)
task = models.ForeignKey(Task, on_delete=models.PROTECT, blank=True, null=True)
(...)
答案 0 :(得分:3)
您可以使用lazy relationships
。
在Comment
模型中:
class Comment(models.Model):
task = models.ForeignKey('Task', on_delete=models.PROTECT, blank=True, null=True)
....
在Task
:
class Task(models.Model):
comment = models.ForeignKey('Comment', blank=True, null=True)
.....
答案 1 :(得分:1)
是的,在将模型类作为字符串传递时使用替代语法。
somestuff = models.ForeignKey("myapp.SomeStuff", ...)
因此,在您的情况下,您需要做的就是添加一对“
comment = models.ForeignKey("Comment", blank=True, null=True)