【发布时间】:2013-05-14 14:18:38
【问题描述】:
我刚刚开始搞乱 Django。我创建了一个新项目和一个新应用程序。在那个应用程序中,我创建了一个模型并激活了管理员。这似乎工作正常。然后我想使用管理员向数据库添加一些新记录。在前三个表中一切正常,但在第四个表(称为“locations”)中,我收到此错误消息:'tuple' object has no attribute 'encode' .完整的错误在 pastebin 上:http://pastebin.com/WjZat6NN
奇怪的是,当我现在返回常规管理页面并想要单击刚刚出现错误的表时,我也收到了错误(因此无需尝试添加任何内容)。
我的问题:为什么会这样?可能我的models.py有问题,所以我也把它贴在了这条消息的下面。
欢迎所有提示!
from django.db import models
# Create your models here.
class countries(models.Model):
country = models.CharField(max_length=100)
def __unicode__(self):
return self.country
class organisationTypes(models.Model):
organisationType = models.CharField(max_length=100)
def __unicode__(self):
return self.organisationType
class organisations(models.Model):
organisationName = models.CharField(max_length=200)
organisationType = models.ForeignKey(organisationTypes)
countryofOrigin = models.ForeignKey(countries)
def __unicode__(self):
return self.organisationName
class locations(models.Model):
organisation = models.ForeignKey(organisations)
countryofLocation = models.ForeignKey(countries)
telNr = models.CharField(max_length=15)
address = models.CharField(max_length=100)
def __unicode__(self):
return self.organisation, self.countryofLocation, self.telNr, self.address
【问题讨论】:
-
只是一个注释。您应该遵循标准命名约定。类名像大多数语言一样大写,类属性和变量用下划线 ('_') 分隔。不是你正在使用的骆驼箱。
标签: python django django-admin