gpt4 book ai didi

python - 向 django InlineFormSet 添加额外的字段

转载 作者:太空宇宙 更新时间:2023-11-04 04:04:15 25 4
gpt4 key购买 nike

假设我有 3 个模型:
棋手
锦标赛
参与

“参与”是另外两个的联结表。

structure

我在管理面板中使用以下 InlineFormSet 以显示参与模型中的一些字段。

from .models import Participation


class ParticipationInline(admin.TabularInline):
model = Participation
formset = ParticipationAdminFormset


class BaseParticipationAdminFormset(BaseInlineFormSet):
def clean(self):
# Some code
# ...

def _construct_form(self, i, **kwargs):
# Some code
# ...


ParticipationAdminFormset = inlineformset_factory(
Tournament, Participation,
formset=BaseParticipationAdminFormset,
fields=("chess_player_id", "tournament_id", "is_active")
)

问题:如何包含“Chess_Player”模型中的任何字段,例如“first_name”,到上面的 FormSet 中?

最佳答案

经过一番摸索,我设法解决了问题:我所要做的就是添加只读字段并包含 chess_player 属性:

class ParticipationInline(admin.TabularInline):
model = Participation
formset = ParticipationAdminFormset
readonly_fields = ['chess_player_name']

def chess_player_name(self, instance):
return instance.chess_player.first_name

关于python - 向 django InlineFormSet 添加额外的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57658052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com