[PYTHON] Fehler im Zusammenhang mit Memcached in Django

MemcachedKeyCharacterError: Control characters not allowed. Es scheint, dass es auftreten kann, wenn ein Objekt usw. als Schlüssel mit der Cache-Funktion von Django angegeben wird.

models.py


from django.db import models

class TestModel(models.Model):
    test = models.CharField(verbose_name=u'Prüfung')

views.py


from django.core.cache import cache

def test_view(request):
    obj = TestModel.objects.get(pk=1)
    objs = cache.get(obj, None)

Wenn Sie die obige Ansicht aufrufen, erhalten Sie möglicherweise einen "MemcachedKeyCharacterError: Steuerzeichen nicht zulässig" Fehler bei "cache.get (obj, None)".

models.py


from django.db import models

class TestModel(models.Model):
    test = models.CharField(verbose_name=u'Prüfung')

    def __unicode__(self):
        return u"%s:%s" % (self.__class__.__name__, self.id)

Sie können den Fehler vermeiden, indem Sie eine Zeichenfolge mit der Methode definieren, die bei der Ausgabe des Objekts wie oben beschrieben aufgerufen wird.

Cache key contains characters that will cause errors if used with memcached

views.py


from django.core.cache import cache

def test_view(request):
    obj = TestModel.objects.get(pk=1)
    objs = cache.get("aaaa bbbb", None)

Wie oben erwähnt, sind Schlüssel einschließlich Leerzeichen ebenfalls NG.

Recommended Posts

Fehler im Zusammenhang mit Memcached in Django
Wie man CSS in Django reflektiert
So löschen Sie abgelaufene Sitzungen in Django
So führen Sie vom Server gesendete Ereignisse in Django durch
Modell in Django
Django verwandte Websites
Form in Django
Fügen Sie Formularobjekten mit Django dynamisch Felder hinzu
So implementieren Sie Rails-Helfer-ähnliche Funktionen in Django
Ich möchte Datetime.now in Djangos Test reparieren
[Django] So beheben Sie Fehler bei der Installation von mysqlclient
So reflektieren Sie ImageField in Django + Docker (Kissen)
Umgang mit Laufzeitfehlern in subprocess.call
Übergeben Sie Login-Benutzerinformationen, um sie in Django anzuzeigen
So erstellen Sie eine Rest-API in Django
So erhalten Sie mehrere Modellobjekte zufällig in Django
Setzen Sie DateField des Formulars in Django auf type = date
Verwendung von Bootstrap in der generischen Klassenansicht von Django
TemplateView-Muster, die Sie zuerst in Django lernen möchten
Modelländerungen in Django
Django kann nicht importiert werden
So beheben Sie SSL-Modulfehler in einer Anaconda-Umgebung
Hochladen von Dateien in der generischen Klassenansicht von Django
Wie man Decorator in Django benutzt und wie man es macht
Aktualisieren Sie die Django-Version 1.11.1 auf 2.2
So verweisen Sie auf statische Dateien in einem Django-Projekt
[Django] Muster zum Hinzufügen verwandter Datensätze nach dem Erstellen eines Datensatzes
So schreiben Sie eine benutzerdefinierte Validierung in Django REST Framework
Verwendung von Laravel-ähnlichem ORM / Query Builder Orator mit Django
So überprüfen Sie das Verhalten von ORM mit einer Datei mit django
So aktualisieren Sie Benutzerinformationen bei der Django RemoteUserMiddleware-Anmeldung
Häufige Fehler in Django Teil 1 Informationen zu template.exceptions.TemplateDoesNotExist (Hinweis)
Ich habe einen Befehl zum Generieren eines Kommentars für eine Tabelle in Django eingegeben
[Django] Wie man Eingabewerte im Voraus mit ModelForm angibt
So generieren Sie eine Abfrage mit dem IN-Operator in Django
Nützliche Tricks in Bezug auf Listen und Anweisungen in Python
[Django] Ich möchte mich nach einer neuen Registrierung automatisch anmelden
Ich kann mich mit Django 3 nicht auf der Admin-Seite anmelden
Für Anfänger, wie man mit häufigen Fehlern in Keras umgeht
Was tun, wenn in Django "Ungültiger HTTP_HOST-Header" angezeigt wird?
Wie man in Django die angezeigte lange Zeichenkette in der Mitte abkürzt ....
Django Geändert, um viele Daten gleichzeitig zu speichern
Leistungsoptimierung in Django 3.xx.
PHP var_dump-like in Django-Vorlage
Behandeln Sie Konstanten in Django-Vorlagen
Covector, um in Funktion zu denken
Implementieren Sie die Follow-Funktion in Django
So löschen Sie stdout in Python
Benennen Sie Tabellenspalten in Django3 um
Melden Sie sich auf der Website in Python an
Ausgabe der Tabellenstruktur in Django
Shell zum Erstellen eines Django-Projekts
Sprechen mit Python [Text zu Sprache]
(Hinweis) Django in Vagrant-Umgebung
Wie man in Python entwickelt
Übergeben Sie den Text an Django genericview
Stellen Sie das Django-Projekt für Heroku bereit