Показать ForeignKey, поданный в виде таблицы в django Admin - PullRequest
0 голосов
/ 10 января 2019

Я работаю над проектом, использующим Python (3.7) и Django (2.1), в котором у меня есть вызов модели Category, который имеет parent типа ForeignKey для себя как self. Он отображается в админке Django в виде раскрывающегося списка, поскольку в нем будут сотни категорий РОДИТЕЛЕЙ, поэтому мы не можем использовать раскрывающийся список в такой ситуации, поэтому я хочу отобразить большую таблицу с параметром поиска, чтобы выбрать категорию как родитель.

Вот моя Category модель:

С models.py:

class Category(models.Model):
    name = models.CharField(max_length=200)
    slug = models.SlugField()
    description = models.TextField(max_length=1000, default='')
    parent = models.ForeignKey('self',
                               blank=True,
                               null=True,
                               related_name='children',
                               on_delete=models.CASCADE)

    class Meta:
        unique_together = ('slug', 'parent',)
        verbose_name_plural = "categories"

    def __str__(self):
        full_path = [self.name]
        k = self.parent

        while k is not None:
            full_path.append(k.name)
            k = k.parent

        return ' -> '.join(full_path[::-1])

И С admin.py:

@admin.register(Category)
class CatAdmin(admin.ModelAdmin):
    filter = ('parent',)

    class Media:
        css = {
            'all': ('assets/css/custom.css',),
        }

Итак, как мне достичь требуемого сценария в админке Django?

Заранее спасибо!

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