models.py:
class Player(models.Model):
name = models.CharField(max_length=50)
email = models.EmailField(max_length=50)
class Tournament(models.Model):
name = models.CharField(max_length=50)
class TournamentPlayer(models.Model):
tournament = models.ForeignKey(Tournament)
player = models.ForeignKey(Player)
paid = models.BooleanField()
def player_email(self):
return self.player.email
admin.py:
class TournamentPlayerInline(admin.TabularInline):
model = TournamentPlayer
fields = ('player', 'paid', 'player_email')
@admin.register(Tournament)
class TournamentAdmin(admin.ModelAdmin):
inlines = [TournamentPlayerInline]
I have an Inline question. When I put up a tournament on the admin site, I see which players go, and if they pay. I would also like to display additional information contained in Player, such as an email address.
In TournamentPlayerInline, it seemed to me that I can leave with fields = ('player', 'paid', 'player_email')
, but I get FieldError: Unknown fields (player_email) specified for TournamentPlayer .
I also tried fields = ('player', 'paid', 'player__email')
, but I got FieldError: Unknown fields (player__email) specified for TournamentPlayer .
player_email
fields
readonly_fields
, , .
, :

Player TournamentPlayerInline?
Django 1.8.4