Я пытаюсь смоделировать проекты, осуществляемые компанией, где каждый проект может иметь произвольное количество тегов, которые относятся к конкретным c аспектам проекта.
Примером может служить проект чей язык будет французским, поэтому проект будет иметь тег language
, значение которого равно french
.
. Однако любой проект может иметь произвольное количество тегов, указывающих на произвольное значение.
Моя цель - настроить ModelAdmin
из Django, чтобы list_view
отображал столбец для каждого tag
, на который указывает поле ManyToMany
проекта, обработанного указанным ModelAdmin
Вот что у меня есть
models.py
from django import models
class Tag(models.Model):
category = models.CharField(max_length=500, blank=False)
value = models.CharField(max_length=500, blank=False)
class Book(models.Model):
name = models.CharField(max_length=500, blank=False)
tags = models.ManyToManyField(max_length=500)
admin.py
@admin.register(Book)
@admin.register(Tag)
class BookAdmin(admin.ModelAdmin):
list_display = ('name', 'tags')
def tags(self, object):
tags = object.tags.all()
output = ""
for tag in tags:
output += "{0} : {1}".format(tag.category, tag.value)
return output
На данный момент решение работает только для отображения всех tags
в одном столбце. Любые возможные пути, которые я мог бы выбрать, чтобы решить эту проблему?