Если вы настроили метод __str__
для своей модели Risk
, набор запросов будет отображать любое представление, которое вы выберете вместо Risk: AM.Risk1
, поэтому, если в вашей модели Risk
у вас было поле с именем name
, Ваш __str__
метод может быть:
class Risk(Model):
name = Charfield()
...
def __str__(self):
return self.name
Тогда в админе результаты будут выглядеть как <Queryset [<Risk: name1>, <Risk: name2> ... ]
, но django будет автоматически обрезать это, если оно станет слишком длинным. Если это по-прежнему не то, что вам нужно, в качестве альтернативы можно написать еще одну функцию для модели, которая просто предоставляет список имен рисков, разделенных запятыми, для этой единственной цели.
так:
@admin.register(Project)
class ProjectAdmin(admin.ModelAdmin):
readonly_fields = ('associated_risks_list',)
и
def associated_risks_list(self):
str = ""
for risk in self.associated_risks:
str += f"{risk.name}, "
return str[:-2] # to trim the last comma and whitespace
В администраторе будет показан список, доступный только для чтения через запятую