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)
Вернуться на верх