Как сделать фильтр автозаполнения в django форме администратора с моделью на основе классов - PullRequest
0 голосов
/ 24 марта 2020

Я хочу добавить выпадающий список с фильтром автозаполнения, таким как select2, в django форму администратора с моделью на основе классов. Я попробовал несколько трюков, доступных через inte rnet, но не удалось. Вот фрагмент кода, который у меня есть. Я хочу показать все категории для поста, который уже доступен в модели. в моем model.py

class Post(models.Model):
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    title = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(max_length=200, unique=True)
    featured_image = models.ImageField(null=True, blank=True, upload_to="blog/", verbose_name='Featured Image')
    author = models.ForeignKey(User, on_delete= models.CASCADE,related_name='blog_posts')
    updated_on = models.DateTimeField(auto_now= True)
    content = RichTextUploadingField()
    created_on = models.DateTimeField(auto_now_add=True)
    status = models.IntegerField(choices=STATUS, default=0)

    class Meta:
        ordering = ['-created_on', 'title']

    def __str__(self):
        return self.title

    def _generate_slug(self):
        value = self.title
        slug_candidate = slugify(value, allow_unicode=True)
        self.slug = slug_candidate

    def save(self, *args, **kwargs):
        if not self.pk:
            self._generate_slug()
        super().save(*args, **kwargs)

мой admin.py

class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'slug', 'status', 'category', 'author','created_on')
    list_filter = ("status",)
    search_fields = ['title', 'content']
    prepopulated_fields = {'slug': ('title',)}
    actions = [export_as_csv_action("CSV Export", fields=['title','slug','author','featured_image','status','created_on','updated_on'])]

как моя форма выглядит в django -admin enter image description here, пожалуйста, предложите что-нибудь, как добавить фильтр i для раскрывающегося списка категорий с автозаполнением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...