Python Django管理ascii错误

Python Django管理ascii错误,python,django,admin,Python,Django,Admin,我知道问题是我有一个特殊的字符。但这是一个棘手的部分:它已经在Django数据库中,所以当我想在管理中删除它时,我会看到错误页面,所以我不能删除它 模型 from __future__ import unicode_literals from django.db import models from django.forms import ModelForm from django.core.exceptions import NON_FIELD_ERRORS from django.contr

我知道问题是我有一个特殊的字符。但这是一个棘手的部分:它已经在Django数据库中,所以当我想在管理中删除它时,我会看到错误页面,所以我不能删除它

模型

from __future__ import unicode_literals
from django.db import models
from django.forms import ModelForm
from django.core.exceptions import NON_FIELD_ERRORS
from django.contrib.auth.models import User

class Richtingen(models.Model):
    naam = models.CharField(max_length=100)
    omschrijving = models.TextField(max_length=2000)
    def __str__(self):
        return '%s %s' % (self.naam, self.omschrijving)
class Leraren(models.Model):
    naam = models.CharField(max_length=100)
    voornaam = models.CharField(max_length=100)
    foto = models.ImageField(upload_to = 'leerkrachten', default='leerkrachten/anoniem.png')
    email = models.EmailField()
    def __str__(self):
        return '%s %s %s %s' % (self.naam, self.voornaam, self.foto, self.email)

class Klassen(models.Model):
    naam = models.CharField(max_length=100)
    numeriekeCode = models.CharField(max_length=100)
    richting = models.ForeignKey(Richtingen, on_delete=models.CASCADE)
    leraar = models.ForeignKey(Leraren, on_delete=models.CASCADE)
    def __str__(self):
        return '%s %s %s %s' % (self.naam, self.numeriekeCode, self.richting, self.leraar)
    def __unicode__(self):
        return u'%s %s %s %s' % (self.naam, self.numeriekeCode, self.richting, self.leraar)

class Contact(models.Model):
    email = models.EmailField()
    telefoonNr = models.CharField(max_length=20)
    adres = models.CharField(max_length=255)
    bericht = models.TextField(max_length=2000)
    def __str__(self):
        return '%s %s %s %s' % (self.email, self.telefoonNr, self.adres, self.bericht)
管理员

错误

(我刚刚注意到您已经从未来导入了unicode文本:您拥有的所有文本都是unicode,其中一些文本前面的
u
是多余的):

您的
\uuu str\uu
方法返回Unicode字符串;但是您使用的是Python2,该函数应该返回一个bytestring。Django将尝试使用其返回并将其解码为unicode字符串,但如果其中包含非ASCII数据,则将失败。只需调用那些
\uuuu str\uuuu
函数
\uuuuu unicode\uuuuu


只要您只使用Python 2;否则,请参见。

我们可以查看模型吗?请指定您的问题。至少显示该特殊字符和错误消息。没有任何提示,我们帮不了你……:(model Klassen中没有任何内容,当我单击“添加”按钮时,它会给我一个错误。我搜索了错误所在,在我的model Richtingen中有一个项目包含一些特殊字符,因此我无法删除该项目以删除错误。这就是为什么我无法向model Klassen添加任何内容,因为它具有model Richtingen.Spec外键ial字符本身不应该引起问题。@RemcoGerlich,如果我想在richtingen中添加一个新项目,并且字符串是“it's complex”。它会因为字符而给我一个错误:“问题是我的数据库中已经有了它,我想去掉它,但它不允许我这样做。”。