管理ページからユーザーを削除しようとすると、面白いエラーが発生しました (Django 1.5):
AttributeError at /admin/teaching/student/5/delete/
'tuple' object has no attribute 'replace'
理解できない長いトレースバックが続き、苦情で終わる
line 43 in .../site-packages/django/utils/html.py in escape:
return mark_safe(force_text(text).replace('&', '&').replace('<', '<').replace('>', '>').replace('"', '"').replace("'", '''))
しかしtext
、単なる文字列です: Error in formatting: coercing to Unicode: need string or buffer, tuple found
. force_text
タプルを返すのですか?それは私のモデルと何の関係がありますか? よくわかりません。
私のユーザーは学生であり、各 Student モデルには User モデルを持つ OneToOneField があるため、対応する Student オブジェクトも削除する必要があると思います。User をシェルからまったく問題なく削除できます (Student オブジェクトも消えます)。
編集:ここにStudent
モデルがあります:
class Student(models.Model):
user = models.OneToOneField(User)
start_year = models.IntegerField()
name = models.CharField(max_length=100)
token = models.CharField(max_length=20, blank=True, null=True)
def __unicode__(self):
return self.name,
def user_email(self):
return self.user.email