
1 onefouroo OP 第一次发帖,不知道怎么缩进 |
2 xidianlz Sep 20, 2016 看报错信息, self.user 不是 str 的 |
3 onefouroo OP @xidianlz 你好 但是我把 model 改了一下 class Student(models.Model): user = models.ForeignKey('auth.User', null=True, blank=True, verbose_name=u'学员') user_fullname = models.CharField(max_length=255) created = models.DateTimeField(auto_now_add=True) last_modified = models.DateTimeField(auto_now=True) def __unicode__(self): return self.user_fullname 报同样的错误, user_fullname 我输入的肯定是 str 但是报同样错误 |
4 Shawdon Sep 20, 2016 LZ 先 google 下这个函数__unicode__,了解下它的相关信息。 你的 user_fullname 也不是一个 str ,而是 models.CharField **对象**!! |
5 kkx Sep 20, 2016 via iPhone |
6 saturnisbig Sep 20, 2016 via Android self.user 是个 foreignkey |
7 onefouroo OP |
10 georgema1982 Sep 21, 2016 错误原因你应该已经明白了。但是我不赞同你用 str(self.user) 。最好是用 django 的 force_text |
14 glasslion Sep 22, 2016 @Shawdon CharField 在访问时的返回的就是 unicode ``` class CharField(Field): def to_python(self, value): if isinstance(value, six.string_types) or value is None: return value return force_text(value) ``` 原理: https://code.djangoproject.com/wiki/DevModelCreation |