python - Django 'NoneType' 对象在 AutoField 表中没有属性 'id' 错误
问题描述
我有这个models.py
class Departamento(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
nome = models.CharField(db_column='Nome', max_length=255, blank=True, null=True)
class Utilizador(AbstractBaseUser):
id = models.AutoField(db_column='ID', primary_key=True)
departamentoid = models.ForeignKey(Departamento, models.DO_NOTHING, db_column='DepartamentoID', blank=True, null=True)
email = models.CharField(db_column='Email', max_length=255, blank=True, null=True, unique=True)
nome = models.CharField(db_column='Nome', max_length=255, blank=True, null=True)
USERNAME_FIELD = 'email'
EMAIL_FIELD = 'email'
在我看来,我正在做
utilizador = Utilizador.objects.get(id=request.user.id)
dep = Departamento.objects.get(id=utilizador.departamentoid.id)
我在模板中使用此视图,但由于此错误“'NoneType' 对象没有属性 'id'”,我无法渲染模板
为什么会这样?
解决方案
你想念 id 在你的:
utilizador = Utilizador.objects.get(id=request.user.id)
但实际上最好这样做:
dep = utilizador.departamentoid
推荐阅读
- python - 使用自己的字母表进行 Python 加密
- python - 通过“self”访问嵌套类?
- python - 按日期计数组
- location - Phonegap 访问用户位置 Info.plist
- sitefinity - Sitefinity 中 TaxonomyManager 和 ContentManager 的区别
- python-3.x - 以十六进制值编辑 .txt 文件
- git - PhpStorm 和 git:如何隐藏结帐期间未提交的文件?
- go - 如何使用 golang 库中的回调函数?
- tsql - 隐式转换是否强制索引扫描而不是搜索?
- recursion - Elixir 减少使用 Timex 查找范围内的第一个可用日期