为什么没有__unicode__返回值显示在Django管理员中?

时间:2015-01-12 15:38:42

标签: python django

我做了这样的事情:

models.py

from django.db import models
from django.utils.encoding import smart_text
class SignUp(models.Model):
    first_name=models.CharField(max_length=100,null=True,blank=True)
    second_name=models.CharField(max_length=100,null=True,blank=True)
    email=models.EmailField(max_length=100)
    casPridania=models.DateTimeField(auto_now_add=True,auto_now=False)
    casAktualizacie=models.DateTimeField(auto_now_add=False,auto_now=True)

    def __unicode__(self):
        return smart_text(self.first_name)

admin.py

from django.contrib import admin
from .models import SignUp
class prihlasenieAdmin (admin.ModelAdmin):
    class Meta:
        model=SignUp

admin.site.register(SignUp,prihlasenieAdmin)

它看起来不错,但是当我使用/ admin登录我的页面并进行新的注册时,它不会返回名字,它会返回"注册对象"。我试图返回电子邮件,现在是first_name,但没有任何效果。

//在module.py中使用__str__而不是__unicode__解决

1 个答案:

答案 0 :(得分:3)

def __str__(self):
    return self.first_name