Как вывести в админке редактирование для ManyToManyFiled модели?

Делаю сейчас систему тегов на сайт.

Есть две модели (Статья и Тег).

class Article(models.Model):
    article_categore = models.CharField(max_length=200, default=1, choices=Article_CHOICES, help_text="Категория статья - для фильтра", verbose_name="Категория статьи")
    article_body = models.TextField(help_text="Полное описание текста", verbose_name="Тело статьи")   

#Таг для статьи

class Tag(models.Model):
  name = models.CharField(max_length = 25, default=1)
  main = models.ManyToManyField(Article, related_name='tags')


Требуется, чтобы в Админке Django при редактировании статьи можно было добавить к ней теги. Т.е. вывести manytomany редактор к Tag. И этого у меня не получается сделать.

Например если бы там было не ManyTomany а Forenkey, то можно было бы все вывести вот так.

class TagType(admin.TabularInline):
     model = Tag
     max_num = 3
 admin.site.register(Tag, TagType)

class ArticleType(admin.ModelAdmin):
    model = Article
    fields = ['article_categore', 'article_body']
    nlines = [
         TagType,
     ]
admin.site.register(Article, ArticleType)
  • Вопрос задан
  • 558 просмотров
Решения вопроса 2
Terras
@Terras Автор вопроса
Короче, весь день копался. Итого:

1) Эта штука официально не поддерживается в Django.
2) Есть различные махинации со сведением двух моделей в третью (посредник) для настройки, но там тоже мужеложество какое-то получается.
3) Есть спекулятивные решения на основе APi, которые устраивают челночные бега и прописывают и создают модели. Но тоже доверия не вызывает.

В общем!
Ответ написан
Комментировать
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы