Sto cercando di implementare un modulo con una sottomaschera nella sezione di amministrazione.admin di django più di un ForeignKey per admin.TabularInline
form = Fighter()
subform = FighterFightHistory() //All of his fights
Il mio problema è il seguente:
<class 'fighters.admin.Fights'>: (admin.E202) 'fighters.FighterFightHistory' has more than one ForeignKey to 'fighters.Fighter'.
Allora, come faccio a fare il modulo di mostrare un menu a discesa per ciascuna chiave esterna (fighter
, opponent
).
La chiave esterna 2 sono (vedi sotto):
- Un link alla caccia (
fighter
) - Un link all'avversario (
opponent
)
combattenti/modelli. py
class FighterFightHistory(TimeStampedModel):
event = models.ForeignKey('events.Event', null=True)
fight = models.ForeignKey('fights.Fight', null=True)
fighter = models.ForeignKey(Fighter, related_name='%(app_label)s_%(class)s_fighter', null=True)
howitended = models.ForeignKey('fights.HowItEnded', null=True)
opponent = models.ForeignKey(Fighter, related_name='%(app_label)s_%(class)s_opponent', null=True)
ended_in_round = models.IntegerField(blank=True, null=True)
youtube_code = models.CharField(max_length=50, null=True, blank=True)
win = models.NullBooleanField(blank=True, null=True)
combattenti/admin.py
class Fights(admin.TabularInline):
model = FighterFightHistory
extra = 30
class FighterAdmin(admin.ModelAdmin):
list_display = ('name', 'history_completed', 'modified', 'active')
search_fields = ['name']
inlines = [Fights, ]