Получаю ошибку <class 'blog_app.admin.RequestDemoAdmin'>: (admin.E109) The value of 'list_display[6]' must not be a ManyToManyField

Я получаю эту ошибку, когда пытаюсь перенести свои модели. Однако, я получаю эту ошибку <class 'blog_app.admin.RequestDemoAdmin'>: (admin.E109) The value of 'list_display[6]' must not be a ManyToManyField. Любая помощь будет очень признательна.

models.py

from django.db import models
from taggit.managers import TaggableManager



# Create your models here.
class IpModel(models.Model):
    ip = models.CharField(max_length=100)

    def __str__(self):
        return self.ip

class Blog_Post(models.Model):
    slug = models.SlugField(max_length=1000, editable=False, null=True)
    post_title = models.CharField(max_length=100, editable=True, blank=False, null=True)
    blog_content = models.TextField(max_length=10000, blank=False, editable=True, null=True)
    files = models.FileField(blank=True, null=True, upload_to=True)
    date = models.DateTimeField(blank=False, null=True, auto_now=True, editable=False)
    likes = models.ManyToManyField(IpModel, related_name="post_likes", blank=True)

    def save(self, *args, **kwargs):
        self.slug = self.slug
        super().save(*args, **kwargs)

    def total_likes(self):
        return self.likes.count()

здесь находится файл admin.py

    from django.contrib import admin
from .models import Blog_Post

@admin.register(Blog_Post)
class RequestDemoAdmin(admin.ModelAdmin):
  list_display = [field.name for field in
  Blog_Post._meta.get_fields()]

Вы не можете включить ManyToManyField в list_display, вы включаете все имена полей из Blog_Post._meta.get_fields(), включая ManyToManyField.

Отфильтруйте поля ManyToManyFields с помощью Field.many_to_many:

@admin.register(Blog_Post)
class RequestDemoAdmin(admin.ModelAdmin):
    list_display = [field.name for field in Blog_Post._meta.get_fields() if not field.many_to_many]

Альтернативно, явно определите поля в list_display

Вернуться на верх