У меня есть следующий код в models.py, обратите внимание на функцию внизу, которая вместо этого меняет имя учителя_объекта в панели администратора на имя пользователя учителя.
class Teachers(models.Model):
email = models.CharField(max_length=50)
school_pin = models.CharField(max_length=11)
username = models.CharField(max_length=50)
pass_field = models.CharField(db_column='pass', max_length=100) # Field renamed because it was a Python reserved word.
fname = models.CharField(max_length=50, blank=True, null=True)
lname = models.CharField(max_length=50, blank=True, null=True)
oauth_provider = models.CharField(max_length=50, blank=True, null=True)
oauth_uid = models.CharField(max_length=100, blank=True, null=True)
verified = models.IntegerField(blank=True, null=True)
verificationcode = models.CharField(db_column='verificationCode', max_length=100, blank=True, null=True) # Field name made lowercase.
school_name = models.CharField(max_length=255, blank=True, null=True)
designation = models.CharField(max_length=255, blank=True, null=True)
date = models.DateField(blank=True, null=True)
membershipid = models.IntegerField(blank=True, null=True)
def __str__(self):
return self.username
class Meta:
managed = False
db_table = 'teachers'
Панель администратора по-прежнемупоказывает учителей, перечисленных как объект учителя (1275) (и так далее).
Я пробовал следующее: 1. Запуск команд makemigrations и migrate 2. Вход и выход из административной панели 3. Обновление и закрытие CMD - перезапуск
Ничего из вышеперечисленного не имеетработал.Нет ошибок при запуске сервера.Версия Python: 3.7 Последняя установка Django
Соображения: 1. Я использовал унаследованную базу данных mysql, поэтому создал модели в обратном порядке.Может ли это повлиять на что-нибудь?2 Интересно, имеет ли отношение к ошибке класс Meta (внизу).
Я также попробовал следующее, но все еще безрезультатно:
def __str__(self):
return '%s %s' %(self.username,self.email)
Для справки и вв данном случае это уместно, вот мой admin.py
from django.contrib import admin
# Register your models here.
from django.contrib import admin
from .models import Teachers
from .models import TeacherPins
admin.site.register(Teachers)
admin.site.register(TeacherPins)
Наконец, поскольку это модель, сгенерированная в обратном порядке (из устаревшего mysql), Django предоставил этот совет в начале файла models.py.Опять же, может ли это (не выполняется, например, без первичного ключа и т. Д.) Иметь отношение к неработающему методу str ?
# This is an auto-generated Django model module.
# You'll have to do the following manually to clean this up:
# * Rearrange models' order
# * Make sure each model has one field with primary_key=True
# * Make sure each ForeignKey has `on_delete` set to the desired behavior.
# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
# Feel free to rename the models, but don't rename db_table values or field names.
Обновление:
- Я попытался изменить порядок (классов) - будет ли это иметь значение?Но все же объект оставался объектом
Я попытался добавить первичный ключ в оба класса - это тоже не сработало
student_id = models.IntegerField (blank = True, null =True, primary_key = True)