Я разрабатываю приложение в Django.
Оно работало нормально, пока я не переименовал некоторые поля в моей модели.
Я запустил миграцию и makemigrations.
Затем, когда я вошел какАдминистратор ad пытается получить доступ к "mymodel" в разделе "myapp", вот что я получаю:
Ошибка типа в / admin / myapp / glossary_entry /
недостаточно аргументовдля строки формата
В чем проблема?(Все остальное в моем приложении работает идеально, пока не будет получен доступ к содержимому модели на странице администратора)
Я публикую полное сообщение об ошибке здесь:
TypeError в / admin / myapp /glossary_entry / недостаточно аргументов для строки формата Метод запроса: GET URL запроса: http://127.0.0.1:8000/admin/myapp/glossary_entry/ Версия Django: 2.2.2 Тип исключения: TypeError Значение исключения: недостаточно аргументов для строки формата Расположение исключения: C: \ Users \ Tommaso \Django rest framework \ Udemy Django \ Myproject \ myapp \ models.py в str , строка 95 Исполняемый файл Python: C: \ Applicazioni_Tommaso \ Phyton \ python.exe Версия Python: 3.6.5 Путь к Python: ['C: \ Users \ Tommaso \ Django rest framework \ Udemy '' Django \ Myproject ',' C: \ Applicazioni_Tommaso \ Phyton \ python36.zip ',' C: \ Applicazioni_Tommaso \ Phyton \ DLLs ',' C: \ Applicazioni_Tommaso \ Phytonlib ',' C: \ Applicazioni_Tommaso \ Phyton ',' C: \ Applicazioni_Tommaso \ Phyton \ lib \ site-packages ',' C: \ Applicazioni_Tommaso \ Phyton \ lib \ site-packages \ pip-19.1.1-py3.6.egg '] Время сервера: Сб,28 сентября 2019 08:56:32 +0000 Ошибка при рендеринге шаблона В шаблоне C: \ Applicazioni_Tommaso \ Phyton \ lib \ site-packages \ django \ contrib \ admin \ templates \ admin \ base.html, ошибка в строке 62
недостаточно аргументов для строки формата 52 {% endblock%} 53 54 {% endif%} 55 {% endblock%} 56
{% block nav-global%} {% endblock%} 57 58 59 {%заблокировать хлебные крошки%} 60 61 {% trans 'Home'%} 62 {% if title%} ›{{title}} {% endif%} 63 64 {% endblock%} 65 {% endif%} 66 67 {% blockmessages%} 68 {% if messages%} 69 {% для сообщения в сообщениях%} 70 {{message | capfirst}} 71 {% endfor%} 72 {% endif%}
Вот мой admin.py:
from django.contrib import admin
from .models import glossary_entry
admin.site.register(glossary_entry)
вот мой model.py:
from django.db import models
from django.utils import timezone
from django.core.exceptions import ValidationError
Admin_approval_switch_choices=[
("show","show"), # 1=valore da inserire negli script (=variabile), 2=valore assunto in relatà nel db
("hide","hide"),
]
class glossary_entry(models.Model):
Lemma = models.CharField(max_length=256, blank=True, null=True)
Acronimo = models.CharField(max_length=25, blank=True, null=True)
Definizione = models.TextField(blank=True, null=True) # sostituire con textfield?
Ambito_riferimento = models.CharField(max_length=256, blank=True, null=True)
Autore_definizione = models.CharField(max_length=256, blank=True, null=True)
Posizione_definizione = models.CharField(max_length=256, blank=True, null=True)
Url_definizione = models.URLField(max_length=400, blank=True, null=True)
Titolo_documento_fonte = models.CharField(max_length=256, blank=True, null=True)
Autore_documento_fonte = models.CharField(max_length=256, blank=True, null=True)
Host_documento_fonte = models.CharField(max_length=256, blank=True, null=True)
Url_documento_fonte = models.URLField(max_length=400, blank=True, null=True)
Data_inserimento_entry = models.DateField(blank=False, null=False, default=timezone.now().date() )
Id_statico_entry = models.CharField(max_length=256, blank=False, null=False, default="ITCH00000")
Admin_approval_switch = models.CharField(max_length=30,blank=False, null=False, default=Admin_approval_switch_choices[1], choices=Admin_approval_switch_choices)
class Meta:
ordering = ['-Admin_approval_switch', 'Lemma', 'Id_statico_entry']
def clean(self):
if not (self.Lemma or self.Acronimo or self.Definizione or self.Ambito_riferimento or self.Autore_definizione or self.Posizione_definizione or self.Url_definizione or self.Titolo_documento_fonte or self.Autore_documento_fonte or self.Host_documento_fonte or self.Url_documento_fonte):
raise ValidationError("Non è stata inserita alcuna terminologia. Compilare almeno un campo del form.")
def __str__(self):
return "%s / %s - %s - [%s]" % (self.Lemma, self.Id_statico_entry, self.Admin_approval_switch)