Django DRF Model не показывает внешние ключи в панели администратора

В моем Django-приложении есть модель для просмотра. Эта модель имеет два внешних ключа к моделям продукта и пользователя. Но когда я захожу в панель администратора и пытаюсь добавить новый обзор, я не вижу выпадающего списка моделей обзора для выбора внешних ключей.

Я ожидаю, что поля внешних ключей будут отображаться в моей панели администратора в виде выпадающего списка, как в синем поле на картинке ниже.

Скриншот страницы добавления нового заказа из панели администратора

Но в панели администратора эти поля не отображаются. Она показывает только поля имени, рейтинга и комментария.

введите описание изображения здесь

Вот моя обзорная модель.

class Reviews(models.Model):
    user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True),
    product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True),
    name = models.CharField(max_length=350, null=True, blank=True)
    rating = models.DecimalField(max_digits=7, decimal_places=2, null=True, blank=True, default=0)
    comment = models.TextField(null=True, blank=True)
    createdAt = models.DateTimeField
    _id = models.AutoField(primary_key=True, editable=False)

    def __str__(self):
        return str(self.rating)

В вашей модели Reviews вы поставили запятую в конце полей users и product. Уберите запятую в конце, так как при наличии запятой поля рассматриваются как кортеж.

Должно быть:

user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True)

Кроме того, ваше поле createdAt некорректно.

Должно быть:

createdAt = models.DateTimeField()

Попробуйте так, я удалил запятую из поля user и product в конце, также я добавил () в DateTimeField

class Reviews(models.Model):
    user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
    product = models.ForeignKey(Product, on_delete=models.SET_NULL, null=True)
    name = models.CharField(max_length=350, null=True, blank=True)
    rating = models.DecimalField(max_digits=7, decimal_places=2, null=True, blank=True, default=0)
    comment = models.TextField(null=True, blank=True)
    createdAt = models.DateTimeField()
Вернуться на верх