Django Ограничение выбора в админке

Мне нужно отфильтровать категории которые я могу выбрать в PostAdmin точные которые были подтверждены, как это сделать? в моделях:

class Category(models.Model):
    name = models.CharField(max_length=200)
    confirmed = models.BooleanField(default=False)
   ....

   def __str__(self):
     return self.name

class Post(models.Model):
    title = models.CharField(max_length=255)
    category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='category')
   ...

   def __str__(self):
     return self.title

в админке:

class PostAdmin(models.ModelAdmin):
    list_display = ['title', 'category']
    fields = ['title, 'category']

admin.site.register(Post, PostAdmin)

[решено]

class PostAdmin(models.ModelAdmin):
    list_display = ['title', 'category']
    fields = ['title, 'category']

    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == 'category':
            kwargs["queryset"] = Category.objects.filter(confirmed=True)
        return super().formfield_for_foreignkey(db_field, request, **kwargs)

admin.site.register(Post, PostAdmin)
Вернуться на верх