1
Wie kann ich zeigen die Spalten id, Titel und das Jahre des Buches statt „Bücher Objekt“?anzeigen Spalten der referenzierten Tabelle anstelle des Objekts in django Admin
Dieser Screenshot zeigt den aktuellen Status:
Meine model.py wie folgt aussieht:
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'
In der Klasse AuthorsBooks ich die beiden Fremdschlüssel OneToOneFields geändert haben.
Mein admin.py sieht wie folgt aus:
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)
Danke es mir ein wenig geholfen, ich habe hinzugefügt 'def __unicode __ (self): return self.title' den' Klasse Books (models.Model) 'und jetzt den Titel in der
einfach Jahr zur Rückkehr der Unicode-Funktion, wie folgt hinzufügen: 'return '{} - {}'. Format (self.title, self.year)'. Ich verstehe jetzt, dass ich deine Frage nicht beantwortet habe. Es tut mir Leid. Leider weiß ich nicht, wie man die gewünschten Spalten rendert. – Lazykiddy
Danke trotzdem, vielleicht hat jemand anderes eine Idee. – Tuksn