当前位置:   article > 正文

Django常见错误总结: 细数我们一起走过的大坑_django reverse坑

django reverse坑

小编我初学Django的时候跳了不少的坑,曾经一度想放弃。现在想想,幸亏没有哈。坚持学习持续改进才是王道啊,要不然老是中途放弃肯定一事无成。我记忆最为深刻的就是看着官网的入门教程练手,当我在模板里看到for choice in question.choice_set.all时, 心里快崩溃了。Question模型里根本没有choice_set这个字段或方法啊,这是什么鬼。后来得知这是Django进行反向查询的方式。今天小编我来专门总结下Django新手容易犯的常见错误,并教你如何避免choice_set那样的大坑。本文适合初学者,老鸟们请多指教啊。

 

模型坑

请仔细观察下面Django模型,你能找到几处坑呢? Django项目第一步就是写模型,如果你动笔没写5行就包含了一堆错误,相信你一定会先怀疑自己,然后再怀疑人生。

class Person(models.Model):
    name = models.CharField('Name')

class Book(models.Model):
    name = models.TextField('Name', blank = True, null = True)
    author = models.ForeignKey('Person', related_name='author')

答案是4个错误,你发现了吗? 如果你能找到更多错误,请留言。

  • Person模型中的CharField没有指定字符串最大长度max_length。CharField和TextField类似,都是字符串,区别在于CharField必需要设置max_length, 而对TextField而言max_length是可选的。这在数据库层面是有用的,设置最大长度可以帮助节省数据库空间。

  • Book模型中ForeignKey应该是Person,而不是'Person'。加了引号就把Person变成普通的字符串了,变成verbose_name了。

  • 如果你设置了ForeignKey,on_

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/80579
推荐阅读
相关标签
  

闽ICP备14008679号