Django Admin Model - внешний ключ показывает email, а не id
У меня есть две модели. Модель статьи. Модель репортера.
Как и в документации Django
from django.db import models
class Reporter(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
email = models.EmailField()
def __str__(self):
return str(self.email)
class Article(models.Model):
headline = models.CharField(max_length=100)
pub_date = models.DateField()
reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)
def __str__(self):
return str(self.headline)
Я также зарегистрировал это в моем файле admin.py
@admin.register(Reporter)
class ReporterAdmin(admin.ModelAdmin):
pass
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
pass
Когда я перехожу к добавлению статьи в админке, поле для репортера показывает мне email репортера, я хочу, чтобы оно показывало мне id репортера (поле id, которое создается по умолчанию).
Отвечаю на свой собственный вопрос.
class Reporter(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
email = models.EmailField()
def __str__(self):
return str(self.email)
Должно быть
class Reporter(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
email = models.EmailField()
def __str__(self):
return str(self.id)