【发布时间】:2021-11-16 20:14:28
【问题描述】:
我正在尝试运行以下代码,但“full_name”给了我以下错误。
TypeError:+ 不支持的操作数类型:“CharField”和“str”
from django.db import models
class user(models.Model):
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
full_name = first_name + ' ' + last_name
def __str__(self):
return self.full_name
当我将“full_name”从变量更改为函数时,TypeError 消失并且我的代码工作正常。
from django.db import models
class user(models.Model):
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
def full_name(self):
return self.first_name + ' ' + self.last_name
def __str__(self):
return self.full_name()
为什么变量会给我一个 TypeError 而函数却没有?他们不做同样的事情吗?
【问题讨论】:
-
在你的第一个 sn-p 中你有:'full_name =',你的意思是:'self.full_name ='?