Django定义模型之ForeignKey实例问题解决
- models.py
from django.db import models
# Create your models here.
class Topic(models.Model):
"""用户学习的主题"""
text = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
"""返回模型的字符串表示"""
return self.text
class Entry(models.Model):
"""学到的有关某个主题的具体知识"""
topic = models.ForeignKey(Topic)
text = models.TextFile()
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name_plural = 'entries'
def __str__(self):
"""返回模型的字符串表示"""
return self.text[:50] + "..."
在进行迁移模型(说白了也就是导入类到数据库)Entry:
命令:python manage.py makemigrations leanrning_logs
结果:
解决:
将代码:
topic = models.ForeignKey(Topic)
改成:
topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
解决结果:
总结:个人认为书中这块代码:topic = models.ForeignKey(Topic)有问题,反正结果是改成功啦!!!如有遇到此问题网友有何异议可以批评建议。