django - django admin admin.TabularInline有多个ForeignKey

标签 django django-admin

我正在尝试在admin部分中实现带有子表单的表单。

form = Fighter()
subform = FighterFightHistory() //All of his fights

我的问题如下:
<class 'fighters.admin.Fights'>: (admin.E202) 'fighters.FighterFightHistory' has more than one ForeignKey to 'fighters.Fighter'.

因此,如何使表单显示每个外键(fighteropponent)的下拉列表。

2个外键是(请参见下文):
  • 战斗机的链接(fighter)
  • 指向对手的链接(opponent)

  • fighters / models.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)
    

    fighters / 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, ]
    

    最佳答案

    这解决了我的问题(使用 fk_name ):

    class Fights(admin.TabularInline):
        model = FighterFightHistory
        extra = 30
        fk_name = 'fighter'
    

    关于django - django admin admin.TabularInline有多个ForeignKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26004096/

    相关文章:

    sql-server - 在Django数据库中插入多个值-原始sqlite语句

    python - 管理站点自动获取当前用户

    django - 为什么django开发服务器卡在这个管理工具js文件上?

    django - 按登录用户过滤 django admin

    python - 如果存在相关对象,则阻止字段更改?

    django - 我可以在没有 'RetrieveUpdateAPIView' 字段的情况下使用 'look_up' 吗?

    python - 过滤查询集时 forms.py 中的 Django MultiValueKeyDictError

    django - 提高 Django PostgreSQL 查询的性能

    django - 验证 Django 管理内联表单集

    python - 带有默认字段的Django模型序列化问题