故障排除'只能将元组(而不是" str")连接到元组'错误

时间:2013-04-19 06:56:15

标签: python django django-admin

当我尝试扩展django管理员用户时。我收到了以下错误。

can only concatenate tuple (not "str") to tuple

这是我的models.py类

from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save

User.add_to_class('age', models.BooleanField(default=False))

class Employee(models.Model):

  user=models.OneToOneField(User)
  name=models.CharField(max_length=100)
  address=models.CharField(max_length=200)
  designation=models.CharField(max_length=100)
  email=models.CharField(max_length=100)    
  role=models.CharField(max_length=10)  
  project=models.CharField(max_length=50)
  task=models.CharField(max_length=50)
  avatar = models.ImageField("Profile Pic", upload_to="images/", blank=True, null=True)



def __unicode__(self):

    return self.name


def ensure_profile_exists(sender, **kwargs):
if kwargs.get('created', False):
    Employee.objects.create(user=kwargs.get('instance'))

post_save.connect(ensure_profile_exists, sender=User)

这是我的admin.py文件

from django.contrib.auth.admin import UserAdmin
 UserAdmin.list_display += ('age')
 UserAdmin.list_filter += ('age')
 UserAdmin.fieldsets += ('age',)

我需要在django管理员用户中添加一个名为age的文件,例如个人信息中的名字,姓氏,电子邮件和年龄。请有人帮助我。

1 个答案:

答案 0 :(得分:3)

'age'

之后将这些行更改为逗号
UserAdmin.list_display += ('age')
UserAdmin.list_filter += ('age')

as

UserAdmin.list_display += ('age',)
UserAdmin.list_filter += ('age',)

否则python会将('age')评估为'age'而不是tupple。

您已在第三行UserAdmin.fieldsets += ('age',)

中正确完成此操作