1
Как я могу показать столбцы идентификатор, название и год книги вместо «Книги объекта»?Показать столбцы ссылочной таблицы вместо объекта в Django администратора
Этот скриншот показывает текущее состояние:
Мой model.py выглядит следующим образом:
from __future__ import unicode_literals
from django.db import models
class Authors(models.Model):
name = models.CharField(max_length=45, blank=True, null=True)
birthday = models.DateField(blank=True, null=True)
class Meta:
managed = True
db_table = 'authors'
class AuthorsBooks(models.Model):
author_id = models.OneToOneField('Authors', models.DO_NOTHING, db_column='author_id', primary_key=True)
book_id = models.OneToOneField('Books', models.DO_NOTHING, db_column='book_id', primary_key=True)
class Meta:
managed = True
db_table = 'authors_books'
unique_together = (('author_id', 'book_id'),)
class Awards(models.Model):
author = models.OneToOneField('Authors', models.DO_NOTHING, db_column='author', primary_key=True)
award_name = models.CharField(max_length=45)
year = models.IntegerField(blank=True, null=True)
class Meta:
managed = True
db_table = 'awards'
unique_together = (('author', 'award_name'),)
class Books(models.Model):
titel = models.CharField(max_length=45, blank=True, null=True)
year = models.IntegerField(blank=True, null=True)
class Meta:
managed = True
db_table = 'books'
В классе AuthorsBooks я изменил два внешних ключей OneToOneFields.
Моего admin.py выглядит следующим образом:
from django.contrib import admin
from myapp.models import Authors
...
class AwardsInline(admin.TabularInline):
model = Awards
class AuthorsBooksInline(admin.TabularInline):
model = AuthorsBooks
class AuthorsAdmin(admin.ModelAdmin):
list_display = ("name", "birthday")
inlines = (AwardsInline, AuthorsBooksInline)
admin.site.register(Authors, AuthorsAdmin)
Спасибо это помогло мне немного, я добавил определение функции __unicode __ (Я): возвращение self.title' в класс 'Книги (models.Model)' и теперь титул в
просто добавьте год к возврату функции юникода, например: 'return '{} - {}'. Format (self.title, self.year)'. Теперь я понимаю, что я не ответил на ваш вопрос. Прости. К сожалению, я не знаю, как отображать нужные столбцы. – Lazykiddy
В любом случае, возможно, у кого-то есть идея. – Tuksn